Month: May 2014

  • 锤子手机,不许用Win 8和其它

    最近有两个新闻要连起来看:

    1. 老罗发布了注定闻名于世的“锤子”手机,学名Smartisan T1。
    2. 中国政府正式宣布,在微软停止支持XP后,不会采用Windows 8操作系统。

    先说“锤子”——你说个锤子啊!

    老罗对苹果是有感情的。官方首页的风格、布局、乃至配色,都和苹果的官方首页有着惊人的类似。有图有真相:

    锤子手机官方首页

    苹果官方首页

    他很喜欢Windows Phone的界面,所以在基于Android的Smartisan OS上封装了类似Windows Phone的磁贴效果:

    锤子手机的界面

    其实Windows Phone还是很萌的,你们不要黑它。

    Windows的用户数量在目前还是巨大的,应用数量也是巨大的。Windows——或者说微软——的错误在于:太想整合桌面和手机了。所以我们才看到了一个Booming Jelly, She’s Congee(不明觉厉,细思恐极)的操作系统Windows 8。

    我一直说:手机端是信息消费端,桌面端是信息制造端。就像现在,我要开始写博客的时候,我根本不会考虑用手机(包括iPad)来写,甚至不会考虑用WEB端(Wordpress提供的后台)来写,而宁可用Live Writer来写。虽然说有些功能无法直接在此实现,有些信息无法再次直接嵌入,但我还是会用一个桌面端程序来写。

    微软的正确方向——我希望是在最近的1-2年之内,反正新换的CEO是有资格放火的呀——将桌面操作系统和手机操作系统进行有效的分离。

    也许有人会问,看看苹果。苹果的桌面系统Mac OS X和掌上系统iOS。它们不是有深度的类似吗!?

    对。但是深度类似不等于就是一个操作系统。苹果直到推出独立的iOS之后很久,才开始考虑两个操作系统之间的互相借鉴的问题。印象中第一代iPhone是2007年,而开始iOS和Mac OS的互相借鉴应该不早于2011年。

    而Windows 8的横空出世,试图整合桌面和移动操作系统,少了这3-4年的功夫。

    以微软的实力,基于Windows操作系统的核心,重新打造一个移动系统不算太困难的事情。这个系统有如下的特点:

    • 不需要桌面——和现在的Windows Phone界面相反,也和大家在Windows桌面系统中强烈要求有桌面相反,移动端系统可以没有“桌面”。
    • 常规的全屏独占式应用界面。

    好了。就这么多。

    应用?Windows桌面已经有那么多应用和应用开发者,转移到移动端,不是问题。何况我们还有Visual Studio。

    =========

    老罗在这个时候推出锤子,时机恰到好处。Smartisan OS基于Android,又不完全是Android。这在某种程度上,契合了政府禁止使用Windows 8的呼吁。当然,老罗做不到再推出一个桌面级别的操作系统,也没有特别的必要——比如政府可以考虑采用Ubuntu Kylin。

    信息安全的重要性怎么强调也不过分。我完全理解和支持政府在这个问题上的审慎和坚定。

    只是话要说回来,信息安全不等于信息封锁和过滤。我对GFW的存在深恶痛绝。

  • CSS2中文版下载地址

    这两天看我的访问记录,还有人在尝试下载我多年前翻译的CSS2规范的中文版。

    由于网站改版,原来的地址已经失效。

    现在可以直接从这个地址下载: http://www.rsywx.net/download/CSS2_Chinese_TR@SOE.zip

    免责声明:这个版本的翻译还是差不多7年前完成的,目前已经不再维护。目前也没有翻译CSS 3.x的计划。

  • SOLR之初体验——第一部分

    我准备用两部分来讲述SOLR的体验。第一部分,牵涉到后端,主要是SOLR的安装、启动、数据库配置;第二部分,牵涉到前端,主要是用Solarium提供的PHP接口在PHP中进行操作。

    本篇是第一部分。

    SOLR由Apache发行,是一个源自Apache Lucene的开源、企业级、搜索引擎项目。 在Sitepoint.com的这一系列文章详细讲述了SOLR和Solarium,有兴趣的读者可以自行浏览。

    安装、启动SOLR当前版本为4.8.0,以压缩包方式发布,有发行版现成使用和源代码供自行编译。下载地址:https://lucene.apache.org/solr/downloads.html

    SOLR发行包不大,压缩后仅150M左右。解压到某个目录后,安装就可以认为已经完成——当然还需要正确版本的Java支持,SOLR对Java的要求是在1.7以上。我的安装目录在:

    ~/temp/solr-4.8.0

    SOLR的发行版有一个内置的样本服务器配置,在example目录下,而其中又有一个样本数据库solr。 首先让我们启动这个数据库,看看有些什么东西。

    tr@hp:~/temp/solr-4.8.0/example$ java -jar start.jar

    这样就启动了SOLR服务,该服务缺省开放了8983端口的WEB管理界面,我们可以远程访问之:

    Ashampoo_Snap_2014.05.03_10h30m21s_011_Solr

    出现这个界面后,我们可以放心了:SOLR服务已经正常启动。SOLR确实是非常吃内存的服务,2G的内存空间被吃掉了1.75G。看来,要充分跑起SOLR,4G是最低配置了。

    在左侧“Core Selector”下拉框中选择一个我们要管理的核心——目前也只有一个,名叫“collection1”,于是就进入该核心的管理页面。在我看来,一个核心或者说这里的collection1,就相当于一张表格,用来保存我们需要进行索引和搜索的数据。此时界面变为对该核的管理界面:

    Ashampoo_Snap_2014.05.03_10h30m03s_010_SolrAdminMozillaFirefox_thumb.png

    左侧边栏有不少新的可选命令。我们会慢慢看。

    配置Schema和中文支持在上图中,可以看到SOLR这个实例的运行环境。对该实例,我们需要定制它的schema。SOLR使用XML文件来配置表格的结构,该文件名为schema.xml,位于example/solr/collection1/conf目录下。SOLR似乎只依赖这单一一个文件进行数据库的管理。每次SOLR启动的时候会对该文件进行扫描并进行后台的重建(比如增加/删除了字段,改变了字段的类型和属性等),但是并不会丢失数据 SOLR样本数据库中的schema.xml非常庞大,作为用户,有必要进行定制。

    另外一个对于全文搜索引擎而言,至关重要的是其对非英文内容的处理,对我来说,就是对中文的处理。所幸的是,SOLR对中文内容处理的非常好。

    schema.xml基本结构如下:

    • 首行,必然是标准的XML文件声明:<?xml version=1.0 encoding=UTF-8 ?>
    • 跳过很长的注释后,就进入schema声明:<schema name=resource version=1.5>name用来标记这个schema,而version是该schema定义时用到的语法的版本,目前就用1.5好了。
    • 字段定义。SOLR有几个保留的字段名,分别是_version_(用于schema的版本更新维护),_root_(在使用嵌套文档的时候要用),id(唯一标识符,建议保留)。
    • 字段定义由若干XML属性完成,常见的有:
      • name:字段名
      • type:字段类型
      • indexed:是否要加入索引
      • stored:是否存入数据库
      • required:是否必须
      • multiValued:是否允许有多个该字段的值。比如一个文档的tag通常是多个,因此这个字段的定义我一般会设置multiValued=true
    • 字段类型的元定义。这个用来定义上面定义的字段的类型。比如一个int是怎样的类型?这点很奇怪,因为在我看来,这些基本类型应该不用再定义的。但是既然SOLR有这个要求,我们也不妨遵循。
    • 这个元定义中需要特别提一提text_cjk这个类型。它就是对一个中文字段进行全文分词检索的关键。如果一个字段是中文内容,并且我们要对它进行全文检索,那么将这个字段设置为这个类型比较好。
  • 彼得初一(下)期中考试

    彼得初一(下)期中考试成绩如下:

    • 语文:76
    • 数学:98
    • 英语:97
    • 历史:46/50
    • 思品:40/50

    总分357,班级第9,估计能有年级前100左右(总共14*45约630人)。

    那天跑去开家长会,我问了班主任一个问题:他还有没有空间,还是已经比较稳定,就这个水平了?班主任几乎立刻用斩钉截铁的肯定语气对我说:肯定还有空间!就是不要太浮!浮就是不扎实,所以总是在一些很小的地方出错。

    比如这次数学扣两分,是因为一个最基本的配方在配一次项的时候忘记了乘以2(4X^2+???X+121),这里的???需要是2*11再乘以2,是44,而不是22。这种题目做了不知道有多少题,出错概率几乎为0,但就是因为还不够扎实,所以在最关键的时候小概率事件发生。

    再比如英语,作文扣了1分,完形填空扣了2分。作文1分应该也是因为没有完全看清要求中提供的材料和细节,在写的时候大意是不错了,但是可能还是漏了一个小点。完形填空有些难,考的是”mind+动名词”的语法点。

    动词+动名词(ing)形式他们已经学过,他也知道有几个动词是可以跟ing,也可以跟原型(比如stop),但是有可能含义不同;有几个是只能跟原型,有几个却只能跟ing。mind这个词儿有没有练到我不清楚,但是我相信在英语小报啊之类的地方有出现过。他当时可能蒙对了,但是没有仔细去研究、认真去记忆,所以到了考试就出了问题。

    家长会上,老师也讲到,初一年级已经早早的出现了两极分化。这个是老师们始料未及的。彼得也告诉我,他们班上已经有同学这次考试5门课都不及格,总分只有100多分的极端情况出现。

    我想这个和星海实验中学所谓的教学进度也是分不开的。家长会上,一位副校长明确表示,我们学校就是用5个学期结束6个学期的课,最后一个学期就是用来总复习的。

    在这样的情形下,我觉得初一下学期就出现初二才出现的两极分化其实就不奇怪了:课程本身难度就提高了,时间又压缩了,难免出现老师跳着讲,学生跳着记的场景。对于学习素质本身较差的学生来说,确实很艰难。

    ===我是分割线===

    初二要加入物理。我还不知道他物理会学的如何。我高中、大学、研究生这几年,物理反而是最差的。希望他能突破。