Category: 编程、软件、技术

  • 重构狗屎皮:第一天

    今天开始重构狗屎皮。

    基本的框架是:后台机器人采用pMq编写的机器人进行采集,这个机器人是用Python编写的;由于我对Python以及基于Python的框架(我们之前用的是TG2)不是很熟悉,所以决定重新用Symofny改写。

    今天是第一天。主要是进行数据库的构建。

    解决了一个“小”问题,就是:Symfony在缺省时数据库所有文本字段采用的是拉丁编码,必须设置一下强迫其采用UTF8编码,代码如下:

    # File: config/database.yml
    all:
        doctrine:
            class: sfDoctrineDatabase
            param:
                dsn: mysql:host=localhost;dbname=go4pro
                username: root
                password:
                attributes:
                    default_table_charset: utf8
                    default_table_collate: utf8_general_ci

    最后三行紧要。

    今天还对样本数据进行了一些编写。用Symfony内置的机制进行数据填充还是很快很快的。

    比如我们可以这样编写一个comment.yml文件:

    # File data/fixtures/comment.yml
    G4pComment:
        first_comment:
            G4pArticle: first
            username: Dummy
            content: 好文章!
    <?php for($i=1;$i<=15;$i++): ??>;
        comment_<?php echo $i ??>:
            G4pArticle: first
            username: 访客<?php echo $i.n; ??>
            content: 我是路人<?php echo $i.n; ??>
    <?php endfor; ??>

    这样就可以一下子产生1+15个数据。YML文件是非常讲究格式的,必须注意书写时的缩进。

  • 升级到Windows 7

    周四的时候将电脑的操作系统升级到了Windows 7家庭高级版。做个标记。感觉没有什么好,也没什么不好……反正就那样……

    (more…)

  • 重装系统软件列表

    最近突然感觉系统有点不给力。但是在重新安装系统之前,需要做个软件列表,免得自己一旦重装系统后忘记要装些什么回去。

    (more…)

  • 将DRM去掉!去掉!!

    在Kobo上买的电子书都有DRM的保护,你只能在关联了Adobe Digital Edition(ADE)账户的机器上用ADE打开。

    我倒不是想要把它怎么样怎么样。我的问题和需求很简单:我是可以在iPad的Kobo应用程序中看书了,但是我花钱买了的书,我想让肾后在她的iriver story里也能看到。这应该是符合平时我们买书的惯例的。试问:如果我往家里买了一本书并付了钱,难道肾后还需要付钱才能看这本书吗?

    (more…)

  • 【iPad】【软件】修改iTunes的备份目录

    本来呢,我是准备用上篇的“2010总结”作为我2010年的最后一篇博客——是的,我确实是这样想的——但是,今天——2010年最后一天——的下午,我坐在我的电脑前,看着“我的电脑”里Vista很贴心的用红色标出C盘只有5G的剩余空间,我心里实在是非常的纠结了起来……

    好吧,让我先在iPad上删除一些东西……再删除一些东西……Nani???居然没有什么大的变化?C盘还是被用红色标识在“我的电脑”里?!

    于是,我只好用Google大法,开始寻找是不是有什么彻底的解决方法……

    幸好,在这个地方我找到了方案,和大家分享一下:

    1. 首先,你要到这个地方:http://technet.microsoft.com/en-us/sysinternals/bb896768,去下载一个名叫junction的软件。这个是微软的官方站点,但是这个工具……一如既往的没有出现在任何Windows的发行版中……
    2. 这个软件不用安装,只要解压缩放到随便一个什么目录就可以了。
    3. 用管理员身份进入命令提示符状态,转到你解压junction.exe的目录。
    4. 运行如下命令:junction <某个目录名> <真正的目标目录>就可以了。

    iTunes缺省的备份目录在:c:\\Documents and Settings\\<你的用户名>\\AppData\\Roaming\\Apple Computer\\MobileSyncBackup

    1. 我在f:盘创建了一个f:iPad的目录,将上述目录下的所有文件夹统统拷贝到了f:ipad下;
    2. 删除iTunes的缺省备份目录(即上面c:…Backup这个目录);
    3. 运行junction “c:\Documents and Settings\<你的用户名>\AppData\Roaming\Apple Computer\Mobile\SyncBackup” “f:iPad”即可。

    从上面的命令行可以看出,junction就相当于*nix下的ln –s命令。

    经过这么一折腾,我的C盘一下子多出了7G的空间——iTunes,你也真够狠的……——而F盘反正本来就是1T的容量,怎么放都不怕的……

    猪手,你值得拥有!

    p.s. 这个软件当然不是iPad软件,但是确实又和iPad的应用有莫大的关系。所以还是用【iPad】【软件】这样的标题……偶8素标题党……

  • iPad软件推荐:Remote

    推荐这个软件有一个重要的原因:它是由Apple官方放出的应用。

    这个软件的功能很简单:在你的iPad上遥控你的PC或者MAC中的iTunes。 软件设置还是比较简单的,我就不多描述了。程序运行界面如下:

    remote-itunes

    那么这个软件能派什么用处呢?

    (more…)

  • 在iTunes里设置专辑的封面

    粗粗的统计了一下,我的iTunes里大概有1100+首歌曲,容量在9GB+,播放时间超过3天。 这些歌曲大概归纳于70-80个不同的专辑,在用iTunes进行整理的时候发现大部分专辑的封面都无法通过iTunes自动获得,也不知道是什么原因。

    不过不要紧,我还可以手动添加专辑封面。 在iTunes里添加专辑封面有两种方法。

    第一种,先要点击iTunes左下角那个可耻的三角形按钮,于是就会弹出一个专辑封面的框,在Google之类的搜索引擎里可以获得专辑图片,然后直接在浏览器中右键拷贝图片,再到这个框里粘贴即可。

    album-cover

    这种情况可能有一种后遗症:所有属于该专辑的歌曲有可能没有被一起更新。具体原因不明。

    这时可以用肯定能行的第二种方法。 那就是选择需要添加封面的专辑里的所有的歌曲,然后右键选择“显示简介”就可以在接下来弹出的对话框中选择封面图片并粘贴了。

    值得注意的有两点:

    一、如果你不小心粘贴错了图片或者在日后找到更好、更贴切的图片需要更新封面,那么只能用第二种方法。

    二、图片大小至少要在500X500左右才能获得很好的效果,实在不行300X300也可以,但不能再小了。

    现在我的iTunes力用Cover Flow看我的专辑效果就是酱紫的:

    cover-flow

    而添加的封面在同步时也会同步到iPad的音乐库里:

    ipad-ipod

    看着舒服多了……

  • iPad软件更新:Heywire

    前篇文章谈到了iPad的软件Heywire,并提出了一些不足的地方,比如让我很不喜欢的不能发送中文短信的问题。

    所幸的是,Heywire已经更新。这次的更新解决了发送中文短信的问题。就为了这点,升级也是应该的。

  • Titanium Developer学习笔记(二)

    本文收录于[go4pro.org]。 这两天主要是学习如何将我之前编写的一些jQuery的demo迁移到Titanium里去,采用的编程模式是HTML+CSS+PHP+javascript (jQuery),而不是Titanium本身的UI。

    总体来说,过程不复杂,也很直观。大部分代码我只是修改了CSS文件和jQuery文件的位置就可以直接使用了。在这个过程中,有几个地方是我原来认为没有问题,却出了问题的。

    首先是连接远程的MySQL。我用的主机是BlueHost,出于安全考虑,BH的主机缺省是不提供远程MySQL的连接的,需要用户加入可信任的IP地址(或地址段)后才可以。

    BH提供了一个URI探测客户端的IP,同时在BH控制页面也会探测IP。我发现的第一个问题就是:这两个被探测出来的IP不仅不一样,而且是不对的!如果填入这两个IP,远程连接时还是报错!最终正确的IP是我的路由给出的IP。终于解决了这个问题。

    第二个问题就是在Titanium里开始MySQL的连接。之前,我已经在PHP脚本状态编写了一些测试脚本来测试连接,并证明是可以的。但是同样的代码,在Titanium里进行编译并执行后,出现了如下的警告:

    Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected…. Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication…. Warning: mysql_select_db() expects parameter 2 to be resource, boolean given….

    这些问题的描述其实已经很直观了。在Google中搜索后发现,这个问题的解决需要在我的服务器端对MySQL服务进行配置,当然这个配置在目前我使用的BH主机下是无法实现的。我判断是因为Titanium在编译时使用了一些不正确的参数,并在Titanium论坛里进行了提问,但是到目前还没有回答。

    我只能进行另外一种——可能是更正确,因为有“云”的味道——的做法,就是将数据提供部分抽取出来成为一个独立的脚本,然后在客户端脚本中获取返回的数据。具体代码就不提供了,因为不是很困难的代码。

    我之所以不用jQuery的json方法获得这些数据,是因为我的客户端PHP脚本需要明确地获得数据后再进行处理。我不能冒异步的风险。

  • BT群的新里程碑:第50,000条话唠

    就在两天前,BT群刚刚迎来一件大事:前令狐终于发出他的第10,000条话唠。而就在今天,BT群又再次迎来另一个具有史诗意义的新里程碑:第50,000条话唠。

    经过再三确认,这第50,000条话唠由著名的“到点就会爆发、就会叫”的···发出,内容纯属灌水:

    5w

    显然···经过了精确的计算。

    在此,肾上代表BT群恭喜···获此殊荣,并希望···再接再厉,多多话唠。

    同时:

    感谢国家,让BT群能说出5W句话…曾几何时,肾上一直认为不到1W句这个群就会被河蟹了……内牛满面

    同时,···也感叹道:

    感谢国家,感觉大家 每次总吧刷屏的任务交给我 顺便到了还提醒我叫。。

    同时,肾上也感谢今天见证了50,000个话唠的所有话唠:

    BSpMq_50000