<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>joolix.com &#187; program</title>
	<atom:link href="http://joolix.com/tag/program/feed/" rel="self" type="application/rss+xml" />
	<link>http://joolix.com</link>
	<description>Joolix, linux everywhere!</description>
	<lastBuildDate>Thu, 22 Jul 2010 03:33:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>用 shedskin 将你的 python 程序转成 C++ 代码</title>
		<link>http://joolix.com/2009/12/convert-your-python-script-into-cpp-with-shedskin/</link>
		<comments>http://joolix.com/2009/12/convert-your-python-script-into-cpp-with-shedskin/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:26:06 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[essay]]></category>
		<category><![CDATA[program]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=334</guid>
		<description><![CDATA[最近在用 python 写一些东西（puzzleup.com上的题啥的），python 写起来很快也很方便，但是当遇到大量数学运算的时候可能就会很慢，于是我就 google 了一下 python 加速的方法，常用的 pysco 就不用说了，这是最简单的方法，但是效果可能不是最好的，传说 pypy 能够将 python 翻译成 c/java 能代码，但是使用的过程中老是遇到错误（什么：[translation:ERROR]  KeyError: &#8216;target&#8217; bulabula），而且编译这个东西耗费了我 &#62;24 h，喜特！猛回头，瞅见了 shedskin，传说这个东东能将 python 翻译成C++，抱着试试看的心情，我就安装上了，结果一试，还真的有快感诶，赫赫！
<span class="readmore"><a href="http://joolix.com/2009/12/convert-your-python-script-into-cpp-with-shedskin/" title="用 shedskin 将你的 python 程序转成 C++ 代码" target="_blank">阅读全文——共1965字</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近在用 python 写一些东西（puzzleup.com上的题啥的），python 写起来很快也很方便，但是当遇到大量数学运算的时候可能就会很慢，于是我就 google 了一下 python 加速的方法，常用的 pysco 就不用说了，这是最简单的方法，但是效果可能不是最好的，传说 pypy 能够将 python 翻译成 c/java 能代码，但是使用的过程中老是遇到错误（什么：[translation:ERROR]  KeyError: &#8216;target&#8217; bulabula），而且编译这个东西耗费了我 &gt;24 h，喜特！猛回头，瞅见了 shedskin，传说这个东东能将 python 翻译成C++，抱着试试看的心情，我就安装上了，结果一试，还真的有快感诶，赫赫！</p>
<p>使用方法：<br />
普通的话就直接：shedskin xxx.py 就可以了，注意 xxx.py 里面只能有数字，字母和下划线，其他滴不要（路径都不能有，刚刚没太注意，结果老是出警告：*ERROR*:./xxx.py: module names should consist of letters, digits and underscores），会在当前目录下生成一个 xxx.cpp, xxx.hpp 和一个 Makefile，完事以后直接 make 就会编译出一个可执行程序来的。为了验证这个玩意是否好使，我找了一个以前和骨头，lerosua 等童鞋一起做欧拉工程的一道运算量较大的题来做实验。<br />
题目是：</p>
<blockquote><p>http://projecteuler.net/index.php?section=problems&amp;id=10</p>
<p>小于10的所有质数的和是 2 + 3 + 5 + 7 = 17。求小于2000000的所有质数的和。</p></blockquote>
<p>我写了一个 python 版本（鉴于本人的 python 极菜加之有数学恐惧症，大家对该程序的运行效率不要抱太大希望，只限于能够算出答案而已）：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
<span style="color: #808080; font-style: italic;"># Name:     007-xiooli.py</span>
<span style="color: #808080; font-style: italic;"># Author:   xiooli</span>
<span style="color: #808080; font-style: italic;">#           Email:  &lt;xioooli[at]yahoo.com.cn&gt;</span>
<span style="color: #808080; font-style: italic;">#           Site:   http://joolix.com</span>
<span style="color: #808080; font-style: italic;"># Licence:  GPLv3</span>
<span style="color: #808080; font-style: italic;"># Version:  091024</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> is_prime<span style="color: black;">&#40;</span>prm,i<span style="color: black;">&#41;</span>:
    j=0
    <span style="color: #ff7700;font-weight:bold;">while</span> prm<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>prm<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span> <span style="color: #66cc66;">&lt;</span>= i:
        <span style="color: #ff7700;font-weight:bold;">if</span> i<span style="color: #66cc66;">%</span>prime<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span> == 0:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">False</span>
        j+=<span style="color: #ff4500;">1</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">True</span>
&nbsp;
prime=<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> k <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span>,<span style="color: #ff4500;">2000000</span>,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> is_prime<span style="color: black;">&#40;</span>prime,k<span style="color: black;">&#41;</span>:
        prime.<span style="color: black;">append</span><span style="color: black;">&#40;</span>k<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #008000;">sum</span><span style="color: black;">&#40;</span>prime<span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>然后是 lerosua 童鞋的 C 版本：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
</pre></td><td class="code"><pre class="c c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
 * =====================================================================================
 *
 *       Filename:  003-lerosua.c
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  2009年10月21日 11时37分49秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  lerosua (), lerosua@gmail.com
 *        Company:  cyclone
 *
 * =====================================================================================
 */</span>
&nbsp;
&nbsp;
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;math.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define MAX 1024000</span>
<span style="color: #808080; font-style: italic;">/** 简单的素数集合*/</span>
<span style="color: #993333;">static</span> <span style="color: #993333;">long</span> <span style="color: #993333;">long</span> primum<span style="color: #009900;">&#91;</span>MAX<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">5</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">11</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">13</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">17</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">19</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">23</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">29</span> <span style="color: #009900;">&#125;</span>;
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">long</span> <span style="color: #993333;">int</span> count <span style="color: #339933;">=</span> <span style="color: #0000dd;">10</span>;
&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">/** 填加10001个素数进素数数组*/</span>
<span style="color: #993333;">void</span> fill_prime<span style="color: #009900;">&#40;</span><span style="color: #993333;">long</span> <span style="color: #993333;">long</span> num<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> i <span style="color: #339933;">=</span> <span style="color: #0000dd;">31</span>;
	<span style="color: #993333;">long</span> <span style="color: #993333;">int</span> j <span style="color: #339933;">=</span> <span style="color:#800080;">0</span>;
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>; i <span style="color: #339933;">&lt;</span> num; i <span style="color: #339933;">=</span> i <span style="color: #339933;">+</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #993333;">int</span> flag <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span>;
		<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> m<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">long</span> <span style="color: #993333;">long</span><span style="color: #009900;">&#41;</span>sqrt<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000dd;">1</span>;
		<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">=</span> <span style="color:#800080;">0</span>; primum<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> m; j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">%</span> primum<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color:#800080;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				flag <span style="color: #339933;">=</span> <span style="color:#800080;">0</span>;
				<span style="color: #000000; font-weight: bold;">break</span>;
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>flag<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			primum<span style="color: #009900;">&#91;</span>count<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> i;
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">&gt;</span>num<span style="color: #009900;">&#41;</span>
				<span style="color: #b1b100;">return</span>;
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>count<span style="color: #339933;">&gt;</span>MAX<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;error%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>count<span style="color: #009900;">&#41;</span>;
			exit<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> argc<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>argv<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #993333;">int</span> i;
	<span style="color: #993333;">long</span> <span style="color: #993333;">long</span> sum<span style="color: #339933;">=</span>0L;
	fill_prime<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">2000000</span><span style="color: #009900;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color:#800080;">0</span>;i<span style="color: #339933;">&lt;</span>count;i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>primum<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">&lt;</span><span style="color: #0000dd;">2000000</span><span style="color: #009900;">&#41;</span>
			sum<span style="color: #339933;">+=</span>primum<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
&nbsp;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;count %d <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>count<span style="color: #009900;">&#41;</span>;
	<span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%lld<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>sum<span style="color: #009900;">&#41;</span>;
	<span style="color: #666666; font-style: italic;">//printf(&quot;%ld\n&quot;,primum[5]);</span>
	<span style="color: #b1b100;">return</span> <span style="color:#800080;">0</span>;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>下面正面 PK ：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="bash bash" style="font-family:monospace;">xiooli<span style="color: #000000; font-weight: bold;">@</span>XIOOLI<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">time</span> .<span style="color: #000000; font-weight: bold;">/</span>010-lerosua 
count <span style="color: #000000;">148933</span>                                                                                    
<span style="color: #000000;">142913828922</span>                                                                                    
.<span style="color: #000000; font-weight: bold;">/</span>010-lerosua  0.83s user 0.00s system <span style="color: #000000;">95</span><span style="color: #000000; font-weight: bold;">%</span> cpu <span style="color: #000000;">0.875</span> total
xiooli<span style="color: #000000; font-weight: bold;">@</span>XIOOLI<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">time</span> python 010-xiooli.py
<span style="color: #000000;">142913828922</span>                                                                                     
python 010_xiooli.py  19.91s user 0.01s system <span style="color: #000000;">93</span><span style="color: #000000; font-weight: bold;">%</span> cpu <span style="color: #000000;">21.191</span> total</pre></td></tr></table></div>

<p>咳咳，差距呀～～～（厚颜无耻的说一句，比代码行数的话，我可不差哦。。）</p>
<p>好了，闲话少说，今天咱是有备而来，xiooli 要祭出杀手锏了：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="bash bash" style="font-family:monospace;">xiooli<span style="color: #000000; font-weight: bold;">@</span>XIOOLI<span style="color: #000000; font-weight: bold;">&gt;</span> shedskin 010_xiooli.py 
<span style="color: #000000; font-weight: bold;">***</span> SHED SKIN Python-to-C++ Compiler <span style="color: #000000;">0.2</span> <span style="color: #000000; font-weight: bold;">***</span>                                                    
Copyright <span style="color: #000000;">2005</span>-<span style="color: #000000;">2009</span> Mark Dufour; License GNU GPL version <span style="color: #000000;">3</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>See LICENSE<span style="color: #7a0874; font-weight: bold;">&#41;</span>                        
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>iterative <span style="color: #7a0874; font-weight: bold;">type</span> analysis..<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">**</span>                         
iterations: <span style="color: #000000;">2</span> templates: <span style="color: #000000;">78</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>generating <span style="color: #c20cb9; font-weight: bold;">c++</span> code..<span style="color: #7a0874; font-weight: bold;">&#93;</span>    
xiooli<span style="color: #000000; font-weight: bold;">@</span>XIOOLI<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> 
<span style="color: #c20cb9; font-weight: bold;">g++</span>  <span style="color: #660033;">-O2</span> <span style="color: #660033;">-pipe</span> <span style="color: #660033;">-Wno-deprecated</span>  -I. -I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>shedskin-<span style="color: #000000;">0.2</span><span style="color: #000000; font-weight: bold;">/</span>lib <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>shedskin-<span style="color: #000000;">0.2</span><span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>builtin.cpp 010_xiooli.cpp <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>shedskin-<span style="color: #000000;">0.2</span><span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>re.cpp <span style="color: #660033;">-lgc</span> <span style="color: #660033;">-lpcre</span>  <span style="color: #660033;">-o</span> 010_xiooli                  
xiooli<span style="color: #000000; font-weight: bold;">@</span>XIOOLI<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">time</span> .<span style="color: #000000; font-weight: bold;">/</span>010_xiooli
<span style="color: #000000;">142913828922</span>                                                                                     
.<span style="color: #000000; font-weight: bold;">/</span>010_xiooli  0.53s user 0.00s system <span style="color: #000000;">94</span><span style="color: #000000; font-weight: bold;">%</span> cpu <span style="color: #000000;">0.561</span> total</pre></td></tr></table></div>

<p>呵呵，生成的那个 cpp 和 hpp 乱七八糟的，加之我又不懂 C++，就不列出来了。<br />
居然比 lerosua 童鞋辛辛苦苦写的那一大堆 C 的还要快 0.2 s 多呢，呵呵，shedskin 真是做题作弊之良器也阿。</p>
<p>ps：相信大点的程序要用 shedskin 转 C++ 的话挺够呛的，不过，可以把 python 程序里面的运行瓶颈部分拿出来转成 C++， 于整个程序的运行效率提高应该有很大的帮助呢。另外 shedskin 不是很灵光，python 里面一些很灵活的东西要写得比较死它才容易认，反正有提示的，遇到出错再改 py 文件。</p>
<p>窃笑中：估计 lerosua 童鞋要郁闷了。</p>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2009/12/convert-your-python-script-into-cpp-with-shedskin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prism：将网络应用转为桌面程序</title>
		<link>http://joolix.com/2009/03/prism-turn-netapp-into-desktopapp/</link>
		<comments>http://joolix.com/2009/03/prism-turn-netapp-into-desktopapp/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 06:31:38 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[screenshot]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=149</guid>
		<description><![CDATA[RT
真是好东东阿，不知怎么的我安装了这个的ff插件，最后做出来的不能用，还是单独安装了一个才行的，Arch的PKGBUILD在这里：http://aur.archlinux.org/packages.php?ID=23111。我自己弄了个巨鲸音乐网的音乐盒  ,很不错哦，跟酷我音乐盒有一拼呢（url是http://www.top100.cn/audition/flplayer.html），google音乐的url没能提取出来。看看效果吧：


<span class="readmore"><a href="http://joolix.com/2009/03/prism-turn-netapp-into-desktopapp/" title="Prism：将网络应用转为桌面程序" target="_blank">阅读全文——共230字</a></span>]]></description>
			<content:encoded><![CDATA[<p>RT<br />
真是好东东阿，不知怎么的我安装了这个的ff插件，最后做出来的不能用，还是单独安装了一个才行的，Arch的PKGBUILD在这里：<a href="http://aur.archlinux.org/packages.php?ID=23111">http://aur.archlinux.org/packages.php?ID=23111</a>。我自己弄了个巨鲸音乐网的音乐盒 <img src='http://joolix.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ,很不错哦，跟酷我音乐盒有一拼呢（url是http://www.top100.cn/audition/flplayer.html），google音乐的url没能提取出来。看看效果吧：</p>
<table style="width:auto;">
<tr>
<td><a href="http://picasaweb.google.com/lh/photo/jOqPJ3t8fC0A2frBUl0wzQ?feat=embedwebsite"><img src="http://lh6.ggpht.com/_C1WSa6kKfQg/SdG4bffjY6I/AAAAAAAAEeU/Aw0kJlwNAWQ/s800/snapshot12.png" /></a></td>
</tr>
<tr>
<td style="font-family:arial,sans-serif; font-size:11px; text-align:right">发件人 <a href="http://picasaweb.google.com/xioooli/WpImages?feat=embedwebsite">xiooli</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2009/03/prism-turn-netapp-into-desktopapp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>命令行QQ：MyQQ</title>
		<link>http://joolix.com/2009/03/cli-qq-myqq/</link>
		<comments>http://joolix.com/2009/03/cli-qq-myqq/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 05:58:36 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Linux & Friends]]></category>
		<category><![CDATA[program]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=146</guid>
		<description><![CDATA[是一个高中的小朋友写的，真是令我等汗颜阿（虽然不是学计算机的，另，该小朋友还写了很多有趣的程序，甚至包括一个简单的操作系统，感兴趣的童鞋可以去他的主页看看），试过了可以用，很不错的样子，呵呵，考虑用expect写个小的qq机器人了:)
下载MyQQ3.1（包含源码和linux/win下的可执行文件）
Try this page for a terminal QQ:
http://home.xxsyzx.com/home/read.do?id=1222
<span class="readmore"><a href="http://joolix.com/2009/03/cli-qq-myqq/" title="命令行QQ：MyQQ" target="_blank">阅读全文——共1229字</a></span>]]></description>
			<content:encoded><![CDATA[<p>是一个高中的小朋友写的，真是令我等汗颜阿（虽然不是学计算机的，另，该小朋友还写了很多有趣的程序，甚至包括一个简单的操作系统，感兴趣的童鞋可以去他的主页看看），试过了可以用，很不错的样子，呵呵，考虑用expect写个小的qq机器人了:)<br />
下载<a href="http://forum.ubuntu.org.cn/download/file.php?id=59742">MyQQ3.1</a>（包含源码和linux/win下的可执行文件）</p>
<blockquote><p>Try this page for a terminal QQ:<br />
<a href="http://home.xxsyzx.com/home/read.do?id=1222">http://home.xxsyzx.com/home/read.do?id=1222</a></p>
<p>With myqq, you can easily login Tencent QQ Server using QQ2009 Protocol and chat with your Q friends. Unlike openQ, LumaQQ, MyQQ just needs a basic linux system to run!</p>
<p>已经修正Linux下的编译问题。</p>
<p>Linux编译：<br />
在终端里执行<br />
make -C src -flinux.mak clean all<br />
由于最初没有周全考虑，目前版本暂时不兼容64位的机器，望见谅！</p>
<p>Update History:</p>
<p>Version 3.13 (2009-3-29)<br />
1. Linux(Ubuntu) version compiled!</p>
<p>Version 3.12 (2009-3-22)<br />
1. 用Windows的Sleep代替不推荐的_sleep。<br />
2. 在Mingw32-gcc4.3.3上编译成功。</p>
<p>Version 3.11 (2009-2-8)<br />
1. 输入验证码提示。<br />
2. 修正myqq.c删除好友的bug。<br />
3. 修正添加附言的bug。</p>
<p>Version 3.10 (2009-2-7)<br />
1. 修正09接收消息协议。<br />
2. 全部源代码文件更改为UNIX-UTF8格式。<br />
3. 增加Preference来自定义屏蔽部分协议。<br />
4. 增加添加、删除好友基本协议，支持验证码。<br />
5. 登录后更改状态。<br />
6. 登录机器数据随机填充。<br />
7. 修正myqq.c里无法打印某些消息的bug。</p>
<p>Version 3.08 (2009-1-27)<br />
1. 修正myqq.c里显示好友状态。<br />
2. 修正因缺少pthread_mutex_destroy引起的资源泄漏（可以检测到）。<br />
3. 修正好友数目多时导致分组信息与群信息未能获取的问题。<br />
4. 10分钟刷新群在线成员。<br />
5. 自动建立qqconfig.txt配置文件。</p>
<p>Version 3.03 (2009-1-26)<br />
1. 修正prot_im.c中buf->pos += get_word( buf );在Linux上运行时发生的错误。<br />
2. 编译Linux版本。<br />
3. qqconfig.txt缺失提示。</p>
<p>Version 3.00 (2009-1-25)<br />
1. 更换QQ2008贺岁版协议为QQ2009Preview4协议。<br />
2. 全面使用utf8，myqq.c为Windows用户转换为gb。<br />
3. 移除所有多余，功能不确切的协议处理函数。<br />
4. 能够接收08，09协议的好友消息与群消息。<br />
5. 处理消息中的表情字符，转换成[face:*]以及[image]来表示。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2009/03/cli-qq-myqq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
