Blog

  • 书,看不完了……

    今天又补登录了基本上个月从云南回来后在上海买的书,一共登录了四本:

    1. 《瓦格纳戏剧全集》(上)(下)。说实话,主要是想看那出著名的《尼伯龙根的指环》;
    2. 《雅舍谈书》《雅舍谈吃》。梁实秋的作品其实是很有意境的。

    然后,我的主页上提示我:

    截止2008年11月14日,任氏有无轩藏书1,553册,计611,197页,421,896千字。

    我突然觉得应该做个计算: 假定一个人每秒可以看5个字,每天坚持看书2个小时,那么这些书需要用: “`
    421896000/5/60/60/2/365=32.xxx年

    
    
    基本上,我大概已经看了1/3,所以,还需要大概20年才能看完现在的这些书……
  • Google Talk英文版

    GT的英文版中有一个可以共享你在听虾米音乐的功能。以前我一直、一直没有试出来——请8要怀疑我的RP。基本的设置我还是懂的。

    今天再次不死心,装了英文版本的GT,用最标准的WMP播放,结果还是可耻的没有显示我在听虾米音乐。我的郁闷不是一点两点……

    网上搜索了几把也不知所云。最后,卸载GT后用神奇的管理员身份安装,然后……一切就OK了。

    原来,是酱紫的:

    GT要支持这个功能,需要提供一个插件给WMP。只有当你以管理员身份安装时,才能注册这个动态链接库。只要注册了这个动态链接库成为WMP的一个插件,所有的问题都迎刃而解了。

  • Hello, My Android(三)

    界面设计完成后,我要开始为那个Button的单击事件设计响应函数。

    在Android中,事件的设计也很诡异。我们先来看代码:

    (more…)

  • 圣光棍节

    今天是一年一度的圣光棍节。

    祝天底下所有的光棍们早日找到合适的另一半!

    ===========

    重要通知:鉴于11月22日BT将在上海聚会,套用前令狐的描述,

    11月22日,真的是又光又2……

  • Hello, My Android(二)

    接下来,我们继续看属于LinearLayout的子控件的两个控件:TextView和Button。有关Android界面中可以用到的Widget有哪些我会在以后再描述。

    ===================

    (more…)

  • Wall~~~~~~E

    和老彼得,和老彼得、LP看了两次Wall·E。

    你当然不能把这本片子当做科幻片来看。一则是它所反应的地球上的垃圾问题很现实;二则是因为很多情节也不能认真的去推敲。

    你当然更不能把这本片子当做爱情文艺片来看,不能当做战争片、惊悚片、音乐片(虽然片中出现的Hello Dolly以及Armstrong演唱的La Vie En Rose,以及Wall·E和Eva在Axiom舱外太空中的双人舞都很优美)……甚至不能当做动画片来看(因为我觉得Pixar能把3D做到这个程度,这样的片子已经和在摄影棚里用胶片拍出来的片子没有什么区别,甚至更出色了……)

    (more…)

  • 暴风影音=流氓软件?

    我,一直很喜欢用暴风影音,但是我今天要说的是:最新版本的暴风影音真TMD是个流氓软件……

    首先,升级在我毫不知情的情况下进行,我发现了新的界面时还着实吃了一惊……

    其次,在没有任何用户干预的情况下,程序自动保持“不退出”,也就是说,我点那个X想关闭暴风影音的结果只是它被最小化到系统托盘;

    第三,最为令人发指的,就是会自作主张的搜索任何“移动媒体”上的影音文件!我的移动媒体实在太多,别的不说,长期作为准固定媒体挂着的移动媒体就有映射到我的SC101上的两个盘符!这两个盘中当然有多媒体文件!于是暴风影音就开始自觉的帮我搜索这两个盘上的影音文件!拜托,我要放影片的时候会通知你,OK?你不要试图做一个影音文件管理程序,好不好?而且,它在搜索我Z盘(通过Samba映射到2F服务器的某个目录)的时候,将我的2F服务器整个弄到瘫痪!

    第四,我想在程序设置中关闭这个功能,但是我没有找到……残念……

    这样的用户体验,实在让我寒心……

  • Hello, My Android!(一)

    我想,部分是受到了山寨机也即将支持Android的鼓舞,最近我下载了一套Eclipse Ganymede+Android SDK,开始看看在这套著名的API下开发Android应用会是怎样的体验。 不是说以前没有尝试过开发手机下的应用。比如,在我04年用Palm的时候,06年用WM的时候,08年用Symbian的时候……不过都可耻滴放弃了:

    • 放弃Palm是因为它的开发理念和我习惯的事件驱动相差实在太远;
    • 放弃WM是因为那时(包括现在)很BSMS;
    • 放弃Symbian是因为我有一个朋友开的公司将Symbian开发做到了极致,我肯定超不过他的水平……

    好吧,让我来看看Android……

    ===================

    当然,如何设置ADT(Android Eclipse Plugin)我就不说了(什么,你不知道怎么玩Eclipse?这个这个……);怎么用Wizard来创建基本的框架我也不多说了。我只说说接下来我做的事情。 首先,我先创建了一个Run的配置,然后就开始运行。Android模拟器顺利的启动了,新创建的项目也顺利执行。然后我开始看整个项目的结构:

    HelloMyAndroid
    ├─assets
    ├─bin
    │  └─com
    │      └─android
    │          └─tr
    │              └─testcase
    ├─res
    │  ├─drawable
    │  ├─layout
    │  └─values
    └─src
        └─com
            └─android
                └─tr
                    └─testcase

    在这个结构中:

    • assets目录目前是空的,我也暂时先不管这个目录派什么用场。不过从英文名可以推测是放置一些“有用的东西”;
    • bin目录下有三个文件:classes.dex, HelloMyAndroid.apk, resources.ap_。根据说明,这个apk文件就是以后安装应用程序到手机上时需要使用的打包文件;
    • bin目录下还有一个很深的目录结构,它其实代表了我创建这个程序时所选择的包:com.android.tr.testcase。在testcase目录下是编译好的class文件。
    • res目录下给出了Android程序中最常用的三种资源:drawable,layout,values。在drawable目录中只有一个icon.png,这个图标会成为我们程序的图标;layout目录中目前只有一个main.xml,在这个xml文件中,描述了程序界面——应该说,用xml描述界面没有什么不对的,但是如果没有一个GUI来辅助用户设计界面是8HD的;values目录中有一个strings.xml文件,这里保存着程序中使用到的字符串(你当然可以选择不用这种方式来保存、使用字符串,但是会失去i18n的灵活性)。
    • src目录下,又是一个对应于我开发这个程序时所选择的包的路径。在testcase目录下,有两个文件:一个是HelloMyAndroid.java,一个是R.java。前者当然是我编写的源文件,而后者是根据res目录中资源的情况自动生成的一个资源-ID对照表。

    =================

    由于我准备在一个很常规的Hello World程序中增加一些新东西,所以我第一步就开始修改界面。为此,我修改了res/layout/main.xml:

    <?xml version=1.0 encoding=utf-8?>
    <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
                        android:orientation=vertical
                        android:layout_width=fill_parent
                        android:layout_height=fill_parent
    >
        <TextView
            android:id=@+id/lblHello
            android:layout_width=fill_parent
            android:layout_height=wrap_content
            android:text=@string/hello
        />
        <Button
            android:id=@+id/btnClickMe
            android:layout_width=fill_parent
            android:layout_height=wrap_content
            android:text=@string/btn_click_me
        />
    </LinearLayout>

    我选择使用LinearLayout来线性安排我的控件(在Android中称为“Widget”),而android:orientation=vertical表示这个布局将是竖直方向的;android:layout_width=fill_parentandroid:layout_height=fill_parent表示这个布局的宽度、高度都将填充整个父控件的空间(这里就是整个屏幕)。 (未完待续)

  • Old Stable vs New Buggy

    最近的电脑很不稳定!很不稳定!!

    每次在我认真的打P聊天BT的时候,蓝屏!蓝屏!!

    =========

    (more…)

  • License your work

    猛禽在他的BLOG里针对煎蛋的放弃CC的协议进行了一段评论(原文连接)。文中提到了这么一段:

    跟煎蛋那些连协议是怎么回事都不理解的人真是没什么好讨论的,改叫扯蛋算了。

    我突然想到,我这里(两块内容:BLOG部分和非BLOG部分)一直也没有很好的定义一个我的授权类型。虽然耳濡目染的知道CC, (L)GPL, Apache……这样的名词,但是却从来没有认真的去看一下这些协议的内容——部分是被其臃肿的法律文件给吓坏了……

    今天既然CC被搬上了台面,我就下决心仔细看看关于CC协议的内容。

    (more…)