Welcome to Rolland Town which Record fire's life.

真真假假的网络和假假真真的搜索

  上大学的时候,和tiny一起泡过MOP。不过这也是多少年前的事情了,自从工作之后确实也很少上MOP,最近两年直接成了不上。为什么又说起MOP,因为看了条新闻——《电脑报》:中国“人肉搜索第一案”幕后之谜。然后关注了下个大门户上的所谓“人肉搜索”,概念已经完全和当年在MOP产生的不一样了。tiny也说过当初的“人肉搜索”——对搜索引擎结果进行人为筛选,找出最佳匹配结果。这也就成了MOP当年赏金猎人出现的最大原因。

  而现在的“人肉搜索”,则完全变味。成了针对“人”,对现实生活中的“人”的真实信息的搜索。打个比方,比如张三的某些事情被发到网上,成了众矢之的。那么看到帖子的网友就开始自发的利用自己或者其他朋友的现实关系,找出张三这个人的身份证号、联系电话、真实姓名等等各种信息。这就涉及到隐私权了。当然国内网吧要求实名上网、论坛注册实名化等都导致了曾经经典的——“在网络上没有人知道你是一条狗”成了空中楼阁。这也是上面说到的那条新闻中的焦点问题。如果说网友的人肉搜索侵犯隐私权,那么要求实名化又算什么呢?

  也是当日,从好友的分享中看到“卖一次淫可以帮助一名失学儿童,当一回二奶可以拯救一所希望小学……别笑,看过你就不会笑了”。真的很受震动,随即我也分享,tiny也分享。最后第二天4G再次分享,不过加了条评论“假新闻!”。我依据4G提供的线索搜索了下,果真我们被忽悠了。

  本以为都么震撼的新闻,结果以假新闻收场,实在难受,因为我们被愚弄!

2008年07月20日代码生活

1 Comments

Sun OBP(OpenBootPROM) 升级实录

  OBP一般来说不需要升级,也是Sun不推荐的升级。实际上OBP就类似一般PC机的BIOS,只是设置什么的实际上比BIOS复杂很多。

  下面是整个升级过程,以及用到的命令,返回的结果。第一步当然是上传文件到服务器,这里就不说了。

==============================黄金分割线开始==============================

root@TEST # ls
802-3233-25.ps                   copyright
817-6957-10.pdf                  flash-update-SunFire880
Install.info                     unix.flash-update.README
LEGAL_LICENSE.TXT                unix.flash-update.SunFire880.sh
README.121685-03
root@TEST # cp -p flash-update-SunFire880 /flash-update-SunFire880
root@TEST # chmod 755 /flash-update-SunFire880
root@TEST # sync
root@TEST # sync
root@TEST # init 0
root@TEST # svc.startd: The system is coming down.  Please wait.
svc.startd: 94 system services are now being stopped.
Feb 29 14:49:23 TEST rpc.metad: Terminated
Feb 29 14:49:23 TEST syslogd: going down on signal 15
svc.startd: The system is down.
syncing file systems… done
Program terminated
{0} ok boot disk /flash-update-SunFire880

SC Alert: Host System has Reset
Probing system devices
Probing memory
Probing I/O buses
Probing system devices
Probing memory
Probing I/O buses

Sun Fire V880, No Keyboard
Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.22.19, 4096 MB memory installed, Serial #76467844.
Ethernet address 0:14:4f:8e:ce:84, Host ID: 848ece84.

Rebooting with command: boot disk /flash-update-SunFire880           
Boot device: /pci@1f,700000/scsi@2/disk@0,0  File and args: /flash-update-SunFire880
-

Standalone Flash PROM Update Utility, Rev. 3.0
                        Ultra(tm) 1
                        Ultra(tm) 2
                        Ultra(tm) 5/10
                        Ultra(tm) 30
                        Ultra(tm) 60 / E220R / Netra T1120/1125
                        Ultra(tm) 80 / E420R / Netra T1400/1405
                        Ultra(tm) Enterprise(tm) 250
                        Ultra(tm) Enterprise(tm) 450
                        Sun Blade(tm) 100
                        Sun Blade(tm) 1000
                        Sun Blade(tm) 1500
                        Sun Blade(tm) 1500 (Silver)
                        Sun Blade(tm) 2500
                        Sun Blade(tm) 2500 (Silver)
                        Sun Fire ™ 280R
                        Sun Fire ™ 480R / Sun Fire V490
                        Sun Fire ™ 880 / Sun Fire V890
                        Netra(tm) T4
                        Sun Fire ™ V125
                        Sun Fire ™ V210/V240,Netra 240
                        Sun Fire ™ V215/V245
                        Sun Fire ™ V880, Netra 440
                        Sun Fire ™ V445
                        Sun Ultra(tm) 25/45 Workstation

This utility allows you to interactively update the firmware
revisions in specific system Flash PROM components.

Type h for help, q to quit, Return or Enter to continue:

Every precaution should be taken to prevent the loss of system
power during the Flash PROM programming process!

Type h for help, q to quit, Return or Enter to continue:

       Firmware Release(s)                Firmware Release(s)
 Currently Existing in the System      Available for Installation  /  Install?
———————————- ——————————————-
OBP 4.22.19 2006/09/06 23:42       OBP 4.22.33 2007/06/18 12:42         no
                                   POST 4.22.33 2007/06/18 13:04        no

Type sa if you wish to select all available firmware releases for
installation.  Type h for help, quit to exit, or cont to continue: sa

       Firmware Release(s)                Firmware Release(s)
 Currently Existing in the System      Available for Installation  /  Install?
———————————- ——————————————-
OBP 4.22.19 2006
/09/06 23:42       OBP 4.22.33 2007/06/18 12:42         YES
                                   POST 4.22.33 2007/06/18 13:04        YES

Type sa if you wish to select all available firmware releases for
installation.  Type h for help, quit to exit, or cont to continue: cont

The Flash programming process is about to begin.

Type h for help, q to quit, Return or Enter to continue:

Erasing the top half of the Flash PROM.
Programming OBP into the top half of the Flash PROM.
Verifying OBP in the top half of the Flash PROM.

Erasing the bottom half of the Flash PROM.
Programming OBP into the bottom half of Flash PROM.
Verifying OBP in the bottom half of the Flash PROM.

Erasing the top half of the Flash PROM.
Programming POST into the top half of Flash PROM.
Verifying POST in the top half of the Flash PROM.

Programming was successful.

SC Alert: Host System has Reset

Configuring system memory & CPU(s)

Probing system devices
Probing memory
Probing I/O buses
Probing system devices
Probing memory
Probing I/O buses

Sun Fire V880, No Keyboard
Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.22.33, 4096 MB memory installed, Serial #76467844.
Ethernet address 0:14:4f:8e:ce:84, Host ID: 848ece84.

                                                                     
{1} ok boot
Boot device: /pci@1f,700000/scsi@2/disk@0,0:a  File and args:
sc>
sc>
sc>
sc> console
Enter #. to return to ALOM.
Hardware watchdog enabled
Hostname: TEST
/dev/rdsk/c1t0d0s4 is clean

TEST console login: root
Password:
Last login: Fri Feb 29 13:39:03 on console
Feb 29 14:54:48 TEST login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
You have new mail.
Sourcing //.profile-EIS…..
root@TEST #
root@TEST #
root@TEST #
root@TEST #
root@TEST # TERM=vt100;export TERM
root@TEST # vi vfstab

~

~
:q!
root@TEST # vi /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no
-
/dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /var    ufs     1       no
-
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -
~
~
~
~
~
~
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no
-
/dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /var    ufs     1       no
-
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2

/dev/md/dsk//dev/rdsk/c1t0d0s4  /export/home  &nb
sp; ufs     2       yes     -

/dev/md/dsk/d/dev/rdsk/c1t0d0s4 /export/home    ufs     2       yes     -
/dev/md/dsk/d/dev/rdsk/c1t0d0s4 /export//export/home    ufs     2       yes
/dev/md/dsk/d10 /dev/md/rdsk//export/home       ufs     2       yes     -

/dev/md/dsk/d10 /dev/md/rdsk/d10/export/home    ufs     2       yes     -
/dev/md/dsk/d10 /dev/md/rdsk/d10/export/home    ufs     ufs     2       yes
"/etc/vfstab" 14 lines, 535 characters
root@TEST # vi /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no
-
/dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /var    ufs     1       no
-
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/dev/md/dsk/d10 /dev/md/rdsk/d10        /export/home    ufs     2       yes
-
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -
~
~
~
~
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no
-
/dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /var    ufs     1       no
-
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/dev/md/dsk/d10 /dev/md/rdsk/d10        /export/home    ufs     2       yes
-
/devices        -       /devices        devfs   -       no      -
/dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /export/home    ufs     2
yes     -
/dev/md/dsk/d10 /dev/md/rdsk/d10        /t/home ufs     2       yes     -
"/etc/vfstab" 14 lines, 535 characters
"/etc/vfstab" 14 lines, 528 characters
root@TEST # mount /data
root@TEST # df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c1t0d0s0    15127779 3957334 11019168    27%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 11665296    1384 11663912     1%    /etc/svc/volatile
objfs                      0  &
nbsp;    0       0     0%    /system/object
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
                     15127779 3957334 11019168    27%    /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
                     15127779 3957334 11019168    27%    /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd                         0       0       0     0%    /dev/fd
/dev/dsk/c1t0d0s3    15127779  805304 14171198     6%    /var
swap                 11663960      48 11663912     1%    /tmp
swap                 11663960      48 11663912     1%    /var/run
/dev/dsk/c1t0d0s4    31969629 1602751 30047182     6%    /export/home
/vol/dev/dsk/c0t0d0/eis-dvd
                     5835488 5835488       0   100%    /cdrom/eis-dvd
/dev/md/dsk/d10      210656460   65553 208484343     1%    /data
root@TEST #
root@TEST #
root@TEST #
root@TEST # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000803<UP,BROADCAST,MULTICAST,IPv4> mtu 1500 index 2
        inet 95.6.13.80 netmask ffffff00 broadcast 95.6.13.255
        ether 0:14:4f:8e:ce:84
root@TEST # netstat 0rn
netstat: extra arguments
usage: netstat [-anv] [-f address_family]
       netstat [-n] [-f address_family] [-P protocol] [-g | -p | -s [interval [count]]]
       netstat -m [-v] [interval [count]]
       netstat -i [-I interface] [-an] [-f address_family] [interval [count]]
       netstat -r [-anv] [-f address_family|filter]
       netstat -M [-ns] [-f address_family]
       netstat -D [-I interface] [-f address_family]
root@TEST # netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
——————– ——————– —– —– ———- ———
default              95.6.13.254          UG        1          0          
95.6.13.0            95.6.13.80           U         1          0 ce0      
224.0.0.0            95.6.13.80           U         1          0 ce0      
127.0.0.1            127.0.0.1            UH        5        108 lo0      
root@TEST #
root@TEST #
root@TEST #
root@TEST # ^C     
root@TEST #
root@TEST # pwd
/
root@TEST # exit

TEST console login: #>
Password:
Login incorrect
TEST console login: root
Password:
Last login: Fri Feb 29 14:54:47 on console
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
You have new mail.
Sourcing //.profile-EIS…..
root@TEST # sc>
sc>
sc> showsrc
Invalid command.  Type ‘help’ for list of commands.
sc> help
Available commands
——————
poweron [-c] {FRU}
poweroff [-y] [-f]
removefru [-y] {FRU}
reset [-y] [-x] [-c]
break [-y] [-c]
bootmode [normal|reset_nvram|diag|skip_diag|bootscript="string"]
console [-f]
consolehistory [-b lines|-e lines] [-g lines] [-v] [boot|run]
dumpconfig [-t] -s <IPaddr> -f <pathname>
showlogs [-b lines|-e lines] [-g lines] [-v]
setlocator [on|off]
showlocator
showenvironment
setfru -c <Customer data>
showfru  [-g lines] [-s|-d] [FRU]
showplatform [-v]
showsc [-v] [param]
shownetwork [-v]
setsc [-r [y]] [param] [value]
ssh-keygen {-l|-r} -t {rsa|dsa}
restartssh [-y]
setupsc
showdate
setdate [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]
resetsc [-y]
restoreconfig [-t] [-x] [-y] -s <IPaddr> -f <pathname>
flashupdate -s <IPaddr> -f <pathname> [-v]
setdefaults [-y] [-a]
useradd <username>
userdel [-y] <username>
usershow [username]
userpassword <username>
userperm <username> [c][u][a][r]
password
showusers [-g lines]
logout
help [command]
sc> showsc
Advanced Lights Out Manager v1.6.3

parameter                value
———                —–
if_network               true
if_modem                 false
if_connection            telnet
if_emailalerts           false
sys_autorestart          xir
sys_bootrestart          none
sys_bootfailrecovery     none
sys_maxbootfail          3
sys_xirtimeout           900
sys_boottimeout          900
sys_wdttimeout           60
netsc_tpelinktest        true
netsc_dhcp               false
netsc_ipaddr         &
nbsp;   192.168.1.11
netsc_ipnetmask          255.255.255.0
netsc_ipgateway          192.168.1.1
mgt_mailhost                                          
mgt_mailalert           
sc_customerinfo         
sc_escapechars           #.
sc_powerondelay          true
sc_powerstatememory      true
sc_clipasswdecho         true
sc_cliprompt             sc
sc_clitimeout            0
sc_clieventlevel         2
sc_backupuserdata        true
sys_eventlevel           2
ser_baudrate             9600
ser_parity               none
ser_stopbits             1
ser_data                 8
netsc_enetaddr           00:14:4f:8e:ce:8d
sys_hostname             TEST
sys_enetaddr             00:14:4f:8e:ce:84
sc> showlocator
Locator led is OFF
sc> consol
Invalid command.  Type ‘help’ for list of commands.
sc> exit
Invalid command.  Type ‘help’ for list of commands.
sc>
sc> help
Available commands
——————
poweron [-c] {FRU}
poweroff [-y] [-f]
removefru [-y] {FRU}
reset [-y] [-x] [-c]
break [-y] [-c]
bootmode [normal|reset_nvram|diag|skip_diag|bootscript="string"]
console [-f]
consolehistory [-b lines|-e lines] [-g lines] [-v] [boot|run]
dumpconfig [-t] -s <IPaddr> -f <pathname>
showlogs [-b lines|-e lines] [-g lines] [-v]
setlocator [on|off]
showlocator
showenvironment
setfru -c <Customer data>
showfru  [-g lines] [-s|-d] [FRU]
showplatform [-v]
showsc [-v] [param]
shownetwork [-v]
setsc [-r [y]] [param] [value]
ssh-keygen {-l|-r} -t {rsa|dsa}
restartssh [-y]
setupsc
showdate
setdate [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]
resetsc [-y]
restoreconfig [-t] [-x] [-y] -s <IPaddr> -f <pathname>
flashupdate -s <IPaddr> -f <pathname> [-v]
setdefaults [-y] [-a]
useradd <username>
userdel [-y] <username>
usershow [username]
userpassword <username>
userperm <username> [c][u][a][r]
password
showusers [-g lines]
logout
help [command]
sc> consol -f
Invalid command.  Type ‘help’ for list of commands.
sc> console -f
Enter #. to return to ALOM.

root@TEST # exit
==============================黄金分割线结束==============================

  最后,感谢Sun成办的两位年青的工程师大力协助。

  再次再次强调,别像刷BIOS一样随便升级OBP。升级顺利完成倒不说了,关键是如果升级后导致硬件无法识别就很麻烦。延伸阅读——“Sun OBP命令总结”(自己Google吧)

Solaris10问题?还是硬件问题?[20080720更新]

  下午,准备将一台SUN FIRE 880的服务器从Solaris8迁移到Solaris10。但是遇到了一个问题,让我百思不得其解。

  1、先将准备好的光盘(ISO从Sun的官方网站获得CD版的)。使用boot cdrom,提示无法打开设备;

  2、使用Sun服务器自带的Solaris9(光盘当然是从其他服务器上借来用的)可以正常从boot cdrom开始;

  3、以为是光盘刻录速度导致读取问题,重刻CD,4x、8x和16x都刻过,再试,还是不行;

  4、以为是下载文件问题。重新下载第一张CD,采用4x刻录,再试,还是不行。

  5、从Sun官方网站下载DVD版,采用8x刻录,还是不行;

  6、从另外一台迁移完成的SUNFIRE880的管理员手中获得他刻录时用的ISO,发现两个问题:第一,今天我们从官方网站下载的DVD大小是2.72G,他刻录时使用的这个ISO同样是Sun官方网站下的,大小是2.84G。莫非增加了新补丁在最新的这个ISO里面,大小还会变少?不管那么多,重新采用6x刻录,还是不行。

  这就不是我常识范围内的问题了(所下载的文件MD5检查没问题)。我能想到的都已经全部重新做了,还有什么问题呢?一、硬件问题,那为什么Solaris9就没有问题呢?二、刻录格式问题,一个ISO文件无法选择刻录时的格式吧?我用的Nero,确实没这个选项,这个我仔细看过。而且关键是即便是进入原有的系统,刻录的光盘都无法读出内容,当然没有尝试除了那张Solaris9以外的光盘。难不成Sun在ISO里面做了什么手脚?不可能,另外一个880都已经完成了迁移,同样是下载的,同样是Nero刻录的。至今无解!郁闷!

  现在怀疑是iso刻录的时候需要选引导,但是我这里的Nero刻录iso根本没得选。

 

20080720更新:

  1、这台v880,已经基本全天候24小时运行了5年多,没有更换过任何部件,没有出现过任何硬件问题;

  2、Sun工程师说可能是OBP问题,升级OBP有个小插曲。升级时发现版本是4.22,原版本是4.7。我当时以为Sun那边自己规范的问题,后来才知道只是简单的22>7而已,OBP升级会在下面一篇中说。

  3、用truss来分析整个光盘读取进程,还是没有结果。最后只能说返厂分析,可惜服务早就过保,作罢。

  4、这个光驱经过快一天的来回折腾,终于宣告——这是我的问题,您别折腾我了。罢工!归结起来就是这么古老的机器,没出问题就好,出了问题,那就是一个接一个。不过话说回来,一台机器常年运作,除停电意外,能这样不错了。

再来胡扯chtml

  为啥要再说说chtml呢?因为犯了个错。当时就看了个大概,就断章取义的认为和汉编没啥区别。但是无意间和这个项目的负责人聊了下,在他的指引下我重新审视了这个项目所有的内容,以及代码时,别有洞天的东西展现出来了。所以这里算是给作者道个欠,毕竟是自己以偏概全在先。

  此外,如果从汉编的角度出发,chtml确实无聊。人都是这样,看问题有固有思维,有先入为主。这样就很难发现问题的实质和真相。

  最后,让我用项目负责人的话来结束吧——有些玩笑,不见得就是玩笑。有些正式的东西,不见得就正式。

干嘛啥都非要有中国版?

  我是中国人,我爱自己的祖国。可我无法理解——干嘛啥都非要有中文版?

  汉编吵了一阵子,今天忽然看到一个chtml-A Chinese version for HTML。摘录其说明如下——

———————–摘录分割线开始———————–

简介

CHTML 是一种超文本标记语言. 它顺应汉语编程的历史潮流, 允许中国的互联网开发者发布信息到万维网上使用中文的字符作为标签. 比如

五大三<粗></粗> 和 东倒西<歪></歪>

详细介绍

CHTML 是国际互联网组织 W3C 超文本标记语言 4.0 的一个实现. 是互联网普遍协议与中国国情相结合的产物. 和汉语编程一样, 原来使用英文的标签现在可以全部使用中文, 比如 <你好> </再见>. 除此之外, 还额外扩展了两个标签, 即 <反功夫网><勾>. 除此以外, 该协议和现有 HTML 标准完全兼容. 目前 CHTML 的版本是零点零一.

<勾> 是和中国国情结合的产物. 因为中国的门户网站以及某组织投票常常都是一个答案, 所以此标签可用于及时丢弃用户投票, 节省服务器资源, 彰显社会主义优越性.

<反功夫网> 是著名的 CAPTCHA 系统的浏览器实现. 所以在此标签中的元素都变成 CAPTCHA 从而人可以顺利阅读, 而机器不能. 考虑到功夫网大部分由机器构成, 此标签可以透过功夫网. 目前的实现有两个, 一个是由 CMU 构建的 reCAPTCHA 文字自动转系统, 另一种是由中国网民发起的竖起来的文字系统. 此标签对人和搜索引擎都无害, 透明穿过功夫网. 据 Google 中国工程师透露, Google 机器人很快将正式支持这个标签.

其他标签的含义也按照中文互联网的特色做了相应的定义. 如, <form> 变成 <带三个表><span> 变成 <俯卧撑>,更多的细节可以参见这个 中文文档.

已知实现

我 们正在工作在一个火狐狸的实现, 而且已经要完成了基本上, 并且可以让火狐狸直接呈现 CHTML 页面. 对不起微软的用户, 因为我们没有得到任何英特网探险家的超文本解析库的授权, 按照新千禧年数字法案, 我们的工程师不能通过反向工程加入对 CHTML 的支持. 我们感到很抱歉为此.

竖排文字是 <反功夫网> 标签已知的一个实现, 在新版本 CHTML 的协议 中, 你可以使用 <反功夫网 方法="竖排"> 内容 </反功夫网> 飞跃功夫网. 其他的反功夫网方法正在紧张开发中.

在我们的代码库里面, 已经有一个 蟒蛇编程语言 的分析器, 验证器的实现和一个火狐狸的超文本解析器的实现.

为了方便我们的开发人员,代码库里面还有一个面向 Textmate 的 Bundle. 您使用Textmate 实作编写 CHTML 非常节省能量.

问题和答案

因为这是一个中国人的项目, 他有中文名字么?

是的, 他的名字在中文叫 "中文版如何做爱" 他是 CHTML 的全写: Chinese How To Make Love.

我怎么告诉我的浏览器我正在使用的是CHTML呢?

谢谢你精彩的问题, 这很简单. 就加

`<!DOCTYPE html PUBLIC "-//W3C//DTD CHTML 1.0 Strict//EN" "http://code.google.com/p/chtml/DTD/chtml.dtd">`

到第一行你的HTML代码.

你能给我一些例子关于这个激动人心的项目么?

是的, 你可以检查我们指定的 支持元素的列表.

我们也提供了一些 简单的例子 给初学者.

你可能想知道我们项目的最后效果, 这里是截屏幕

我有话要说.

请使用我们的邮件列表 http://groups.google.com/group/chtml.

我发现你们的工作有错误.

我们的工作还处于初级阶段, 可能还存在这样或那样的问题. 如果你需要上访请到 Issues 里面填写报告, 我们一定会予以高度重视.

等一下, 有些事情不对. 它是个玩笑嘛

不是的, 他/她不是. 他是一个有趣的项目而已,您可以检查我们的代码库跟踪我们开发进度. 我们欢迎开放源代码软件爱好者一起贡献代码.

———————–摘录分割线结束———————–

   我就搞不懂怎么国人老喜欢搞这些东西,和汉编一样,思想别人的,规范别人的,搞一个替换有多大意义?这么搞以后教育行业最好都别开英文课了,我们都全体汉语了。

 

2008年07月2日生活随笔

评论关闭

GoogleBrowserSync替代品全新出炉——Weave

  Google确定放弃GoogleBrowserSync,推荐使用Foxmark或者Weave。原因就不多说,总之放弃了就放弃了。我也不在去胡乱猜测,也没多大意思(幡然醒悟啊)。

  其实我昨天就在考虑对于浏览器来说,我们到底需要同步些什么?书签自然不用说,首当其冲。其他的呢?历史记录无所谓,cookies可有可无。不过对于FireFox这个浏览器来说,也许同步插件也是有必要的。虽然现在都用Portable版,但是总不能每天放优盘上拔来拔去吧。

  还有一个问题,就是同步方式。以前的GBS是同步到Google的服务器上,简单的说就是服务器上保留备份。这个方式不错,但是能不能让用户自己选择同步的方式呢?比如我自己有空间或者有网站,可否经过简单设置实现同步?毕竟没有看过GBS的代码,现在说这个还早了点,暑假看看GBS的代码,也许自己可以弄个自己用的扩展出来。

  昨天就开始关注Weave,由于是实验阶段,Mozilla关闭了注册,而且0.2版也在近期会发布。今天早上就更新到了0.2,顺利注册使用上Weave。截图两张:

  很是说明问题啊,看来Mozilla有考虑我上面曾经说到的部分。没有了GBS,我们就用Weave吧!

返回顶部