分類彙整: 编程开发

瑞星指责谷歌等“安全浏览器”只是摆设

新闻来源:长江商报—中国新闻网
“谷歌等的安全浏览器,对于‘挂马网页’而言,都只是一个摆设。目前90%以上的木马病毒是通过‘挂马’方式传播的。”昨日,瑞星安全专家向外界发出警告,浏览器等网络入口既是用户进入互联网的大门,同时也是木马病毒等网络威胁的主通道。

据 了解,随着“挂马网页”的泛滥,如何将木马病毒拦截在浏览器等网络入口,而不是等它们进入用户电脑后再进行截获和查杀成了各大安全厂商面临的难题。“瑞星 ‘云安全’计划2.0版将攻克这一难题,通过对‘挂马网页’的自动拦截,将木马病毒拦截在浏览器等网络入口,切断其进入用户电脑的通道,并同时加载在瑞星 卡卡上网安全助手新版本上,免费提供给广大用户。”瑞星相关负责人表示。

针对瑞星所说没有核心安全技术的支持,各式各样的“安全浏览器”都只能是摆设一词,记者随后致电了几家推出“安全浏览器”的厂家,不过厂家均未对此做出回应。

“Windows应该在错误信息上多做改进”

Windows Vista磕磕绊绊走到现在,我们依然不能认为它是一个很棒的系统,其实在错误对话框中可以看出来,lifehacker认为微软还是没有把用户放在最重要的位置.
原因很简单,我们来看看以下系统出错时的一些截图:
ExplorerDead.jpg
错误信息的出现不一定意味着就是坏事,它可以帮助开发人员获得除错的信息,但对于用户来说,为什么不写明白一点呢?

信息量不够

PrintingErrors.jpg
出了问题,但不知道问题出在哪.

信息错误

ConnectedState.jpg非常笼统的说法,容易让用户造成误判.

毫无帮助

ProblemConfirmed.jpg对于一个毫无帮助的错误对话框,用户还能做些什么?

InstallProblem.jpg
看以上的图片,微软是在给用户出两难的题目么?

废话连篇

NoLocation01.jpg其实有那么多兴致去写那么一大串字符,还不如直接告诉用户目录不存在或者无法访问.

NoLocation02.jpg在这个对话框之后,Windows把自己的肚皮露了出来,他们打算让用户把文件保存到这里么?默认保存在文档文件夹里不好么?

苹果已经成为世界第六大PC厂商

在过去的几年里,苹果一只保持着良好的发展态势,其市场占有份额也节节攀升,Gartner提供的最新统计数据表明,苹果已经成为世界第六大PC厂商.
这一数据在美国尤其明显,从2008年第一季度到第三季度,苹果的业绩每季度都比去年同期高50-60%.
值得注意的是,对比其它PC厂商,虽然苹果拥有相对封闭的硬件和操作系统结构,但优良的设计依然不影响它跻身PC厂商前列.

利用Web Application Stress Tool(WAS)做性能测试

Duwamish Online
Aaron Ching, Pedro Silva, and Allen Wagner
Microsoft Developer Network
January 2001
摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具。
内容
介绍
使用WAS的好处
WAS的缺陷
安装WAS
创建测试脚本
配置测试脚本
运行测试脚本
结论:最好的习惯
介绍
性能测试是成功发布一个网络应用的关键因素。当越来越多的用户访问你的站点时,清楚地知道你的应用程序和你的服务器群是怎样工作的就显得非常重要了。
为了给你的网络应用程序模拟出那种类型的使用,你可以协同几百甚至上千的真实用户在一段设计好的时间段里访问你的站点,你也可以只与一个能复制这么多用户负载的测试工具一起工作,
许多性能测试工具可以帮你的忙。基本上,这些工具都允许你以有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs (Uniform Resource Locators)。每一个虚拟用户都能精确地仿效在真实浏览器和网站服务器之间进行通讯协议。
在 这篇文章里,我们将专注于其中一个这样的工具:Microsoft® Web Application Stress (WAS)工具。你可以在微软的Microsoft Windows® 2000 Resource Kit CD (WAS version 288)里面找到这个工具。
注意 WAS 不能再从Microsoft的网站下载了,Visual Studio .NET 的企业架构 和 企业开发版本都包含一个新的网络压力测试工具,这个工具叫做Application Center Test,是受Microsoft技术支持的工具。这个工具包含在Visual Studio .NET安装时的Enterprise Development Tools部分。在写这篇文章时,Application Center Test还没有正式公开发表。关于如何得到Visual Studio .NET,请访问Visual Studio网站。

网上社区个案研究——豆瓣网

作者:彭兰

一、豆瓣网的发展背景

豆瓣网的创始人叫杨勃,是留学美国的物理学博士。2000年回国之后,曾从事 了4年的物流工作。后来开始尝自己设计网站。他当时的想法是,虽然自己看了很多书,但跟周围同事、朋友沟通感觉自己学的东西仍有限。帮助大家分享自己的东 西、发现一些新的东西,这成为他设计自己的新网站的出发点和核心理念。于是他参照了标签(tag)、亚马逊的内容推荐等一些做法,构建了自己网站的框架。 2005年3月豆瓣网正式创办。

与大多数网站不同的是,豆瓣网的内容都是用户生产的,可以说是典型的Web2.0的应用,也是一种新的 社区。目前,豆瓣网有书、电影、音乐这几个类别的接近100万条的目录。每个注册用户看到任何一本书、一个电影都可以点“我看过”、“我想过”、“我听过 ”、“我正在听”等,用户只需要用鼠标点击而不是键盘输入就可拥有一个自己的“书单”。根据用户看过的东西,豆瓣网马上会推荐一些他最可能感兴趣的东西, 用户也可以很快发现自己还没有听说好的东西,而且可以由此购买自己感兴趣的书或下载感兴趣的CD. 閱讀全文

23招打造极速Windows XP

以往我们经常使用”碎片整理”使Windows运行的更快。但现在市场上出售的7200转硬盘,在寻道和传输两方面做了改进,有很多型号还附带有 一个8M缓存,而且Windows XP使用的NTFS文件系统比FAT系统更有效率。因此,”碎片整理”对提升电脑性能的作用已经非常有限。下面给出能大幅提升电脑性能,让Windows XP运行更快捷、更可靠的23招实用技巧,希望对您有所帮助:

1)在系统中安装Ultra-133硬盘加速扩充卡或带有8M缓存的ATA硬盘,可以有效减少系统的启动时间。

2)把内存增加到512M以上。

3)确定Windows XP使用的是NTFS文件系统。检查方法:双击”我的电脑”,在C:盘上右击鼠标,选择”属性”,检查文件系统的类型。如果是FAT32,就把它转换成 NTFS,方法是:先备份所有重要的数据,然后选择”开始”菜单里的”运行”,输入CMD后确认。在提示符下,输入CONVERT C:/FS :NTFS和回车。在这个过程中,最好不要中途异常中断,并确保系统中没有病毒。

4)关闭文件索引功能。Windows索引服务要从硬 盘上大量文件中提取信息并创建”关键字索引”,如果硬盘上有数以千计的文件,这个功能可以加快从这些文件中搜索信息的速度。但Windows创建这个索引 要花费很多时间,而且大多数人从来不使用这个功能。关闭的方法是:双击”我的电脑”,在硬盘和下面的子文件夹上右击鼠标,选择”属性”,取消”使用索引以 便快速查找文件”.如果有警告或错误信息出现(如”拒绝访问”),点击”忽略”即可。

5)升级主板和显卡的驱动程序,升级BIOS.

6)每三个月左右清空Windows的预读取文件夹(WindowsPrefetch)一次。Windows把频繁使用的数据存放在预读取文件夹中,需 要再次使用这些数据时就可以大大加快读取速度。但时间一长,这个文件夹中就会有大量不再使用的垃圾数据存在,反而增加了Windows的读取时间,影响了 系统性能。

7)每个月运行一次磁盘清理程序,删除临时和无用文件。方法:双击”我的电脑”,在C:盘上右击鼠标,选择”属性”,点击”磁盘清理”按钮。

8)在”设备管理器”中双击IDE ATA/ATAPI控制器,到Primary/Secondary IDE Channel里将所有连接设备的转输模式都设定为使用DMA(如果可用)。

9)更新接线。采用了新式的硬盘后,应该同时为所有IDE设备换装80线的Ultra-133线缆。如果只安装一个硬盘,那么这个硬盘应该安装在线缆的 顶端,不要安装在线缆中间的那个接口,否则可能发生信号异常。对于Ultra DMA硬盘驱动器来说,这些异常信号会影响驱动器发挥最佳性能。

10)清除所有spyware(间谍程序)。有很多免费软件,如AdAware,可以完成这个任务。清除后,所有包含spyware的软件都将不能正常工作,如果确实需要其中的某个软件,就把它重新安装一遍吧。

11)从启动组里删除不必要的程序。方法:选择”开始”菜单里的”运行”,输入”msconfig”,进入”启动”选项卡,取消不想在系统启动时加载的 项目。对于不能确定的项目,查阅一下”WinTasks Process Library”(进程库),里面包含了已知的系统进程、应用程序和spyware的描述。也可以在google等WEB搜索引擎中查找。

12)进入控制面板中的”添加/删除程序”项,删除不必要的和不用的程序。

13)关闭所有不必要的动画和活动桌面。方法:在控制面板中点击”系统”图标,进入”高级”选项卡,对”性能”进行”设置”,在”视觉效果”选项卡上, 选中”自定义”单选框,将有关用户界面特性设定为禁用状态。

14)使用Tweak-XP软件编辑系统注册表,进一步提升性能。

15)定期访问微软Windows更新站点,下载所有标有”Critical(重大)”标志的更新项目。

16)每周更新防病毒软件。系统中最好只安装一套防病毒软件,安装多套软件会对性能带来不利影响。

17)安装的字体数量不要超过500种,字体数量太多会使系统变慢。

18)不要对硬盘分区。Windows XP的NTFS文件系统在一个比较大的分区上运行会更有效率。以前,人们为了方便数据组织或重新安装操作系统时不必格式化整个硬盘而对硬盘进行分区。在 Windows XP的NTFS文件系统中,重新安装操作系统已不必重新格式化分区,数据组织更可以通过文件夹来完成。例如,不需要再把大量的数据放到另外划分的D:盘 上,可以创建一个命名为”D盘”的文件夹,数据放在这个文件夹中即不影响系统性能,又能起到很好的组织作用。

19)测试内存条 (RAM)是否完好。建议使用免费程序MemTest86,先用这个程序制作一个启动盘,用此盘启动电脑后程序将对内存条运行10项不同的测试,每项测试 进行3遍。如果测试中遇到错误,就关闭电脑,拔掉其中一根内存条(如果有多根的话),重新测试。扔掉坏的内存条,换上一根好的。

20)如果电脑上安装了CD或DVD刻录机,有时候升级驱动程序可以使刻录速度更快。

21)取消不必要的服务。Windows XP调用了许多用户可能根本用不到的服务,这些服务不仅影响运行速度,对保护系统安全也非常不利。因此,可以根据需要禁用不必要的系统服务。方法:选择” 开始”菜单里的”运行”,输入”Services.msc”打开”服务管理控制台”,通过更改服务的启动类型启动或停止该项服务。

22)如果感觉Windows的单窗口浏览器速度比较慢,可以加以改进,方法是:打开”我的电脑”,点击”工具”->”文件夹选项”->”查看”,选中”使用独立的进程打开文件夹窗口”.这样可以防止一个较慢的设备影响用户界面的响应速度。

23)打开机箱,把灰尘和碎片打扫干净,每年至少做一次。同时检查一下所有的风扇是否工作正常,主板上的电容器有没有膨胀或泄漏。

至此,23招都用过一遍,是不是对自己的系统更满意了?

提醒:虽然”碎片整理”对提升电脑性能作用有限,但一个没有碎片的硬盘总比一个布满碎片的硬盘消耗的功率少,况且,一旦硬盘损坏,如果硬盘上的数据连续存放,就更容易恢复。所以,仍建议每隔一段时间(根据机器使用情况,从数月到一年不等),对硬盘做一次”碎片整理”.

微软承认番茄花园作者被拘源于其投诉

新闻来源:新浪科技
8月20日13:30消息,针对番茄花园版Windows XP作者洪磊被拘留一事,微软中国公司表示,番茄花园从事的盗版活动“十分猖獗”,“严重损害”了微软的权益,因此微软“向国家版权局和公安部进行了投诉,并得到了高度重视”。

番茄花园XP作者、软件下载网站番茄花园(tomatolei.com)站长洪磊的父亲昨晚独家向新浪科技证实,洪磊已经于15日(上周五)被警方拘留审查。另有网友报料称,洪磊已经被苏州市虎丘区派出所,以利用互联网侵犯知识产权牟利罪刑事拘留。

由于番茄花园涉及的是版权问题,其可能存在的侵权行为正是牵扯到微软公司,因此有人猜测,此次洪磊被拘留微软“功不可没”。微软中国公司在发给新浪科技的一段书面回复中承认,警方查封番茄花园源于微软近日“向国家版权局和公安部进行了投诉,并得到了高度重视”。

微软公司表示,“番茄花园从事的软件盗版活动在相当长的一段时间以来十分猖獗,包括微软在内的众多国内外软件公司的权益均受到了严重损害,鉴于此,微软日前和其它软件公司就番茄花园网站的侵权犯罪活动,向国家版权局和公安部进行了投诉,并得到了高度重视。”

“微软作为被侵权和受害人之一,对于执法机关针对此类侵权犯罪行为所采取的积极严厉的打击行动表示赞赏与感谢”。微软公司表示,“互联网盗版侵 权已经成为制约国内软件和其他创意产业发展的重要因素之一。微软将继续积极支持和配合有关执法部门,为不断改善中国知识产权环境、建设创新型国家做进一步 努力。”

Javascript 2 前途尘埃落定

新闻来源:webmonkey.com
作为 Web2.0 时代众多 Web 功能动力源泉的 Javascript 技术,以及其规范标准 ECMAScript ,曾一度被指出需要做出改进, 这一改进曾由两个工作组并列进行,一是由 Adobe, Mozilla, Opera, 以及 Google 等主导的 ECMAScript 4 小组,另一个是 Microsoft 和  Yahoo! 主导的 ECMAScript 3.1 小组。日前,这两个小组达成一致,推出 ECMAScript Harmony 项目,旨在对这两个工作组各自的 ECMAScript 标准进行统一,以共同推动 Javascript 2 的发展。
JQuery 的创始人,Mozilla 公司的 John Resig 在其博客中对 ECMAScript Harmony 项目做了详细解释。

ECMAScript Harmony 最大特点是,Javascript 2 中很多被期待的,非常重要的改进都被取消,比如,类似 Python 的 package 与 namespace 功能,关于 ECMAScript 4 (Javascript 2 的基础)的详细功能清单,请参阅 Google 一份文件

尽管取消了很多功能,Resig 认为,ECMAScript Harmony 项目的方向是对的,在 ECMAScript 上有话语权的众多公司(Mozilla, Microsoft, Apple, Opera, Google, Yahoo)之间达成一致意见,对用户来说是有好处的。

ECMAScript Harmony 项目将实现以下目标:

  1. 在各方的参与下,将重点放在 ECMAScript 3.1,并于明年初推出两个可以共存的版本。
  2. ECMAScript 3.1 的后期扩展工作,新工作将比 ECMAScript 4 更保守一些。
  3. 一些 ECMAScript 4 中的功能将被取消,如 package, namespace。
  4. ECMAScript 4 中的一些想法被重新设计以保持同 ECMAScript 3.1 的一致。

JavaScript 并非唯一基于 ECMAScript 标准的语言,Adobe 的 ActionScript  也基于 ECMAScript ,但 ECMAScript Harmony 项目对 ActionScript 是否带来影响目前还不得知。

W3C 发布 XHTML Basic 1.1 及移动 Web 最佳实践

新闻来源:W3C
W3C 近日发布两项标准,XHTML Basic 1.1移动 Web 最佳实践 1.0。这两项标准均针对移动 Web,其中,XHTML Basic 1.1 是 W3C 建议的移动 Web 置标语言。W3C 从移动 Web 最佳实践中总结了 10 条最基本的规则

  1. 为多种设备设计一致的 Web 网页。在设计移动 Web 网页的时候,必须考虑到各种设备,以降低成本,增加灵活性。
  2. 依靠 Web 标准:在一个拥有各种设备的市场中,Web 标准可以保证不同设备之间的兼容。
  3. 避开移动设备的一些常见问题:如,不要弹出窗口,不要使用嵌套的表格,不要使用 Frame。
  4. 要了解移动设备的限制: 移动设备一般不支持 Cookie, Javascript 等技术。
  5. 对导航进行优化:使用清晰,简洁,最小化的导航系统。
  6. 对图形和颜色进行检查:不要使用高分辨率的图片,要根据移动设备可能屏幕尺寸,分辨率,以及支持的色彩与对比度对图形进行检查,确保它们显示正常。
  7. 求小:页面显示尺寸,文件尺寸,CSS 尺寸要尽可能小。
  8. 节约使用带宽:不要使用自动刷新,重定向等技术。不要过多引用外部资源,要好好利用页面缓存。
  9. 要方便用户输入:移动设备的输入方式非常不好用,要尽可能为用户输入提供方便协助。
  10. 要考虑到那些忙碌的用户:忙碌的用户时间很有限,移动 Web 提供的信息要精简,明确。

XHTML Basic 1.1
移动置表语言有众多分支,XHTML Basic 1.1 的发布,为移动置标语言提供了一个标准, XHTML Basic 1.1 包含以下新功能:

  1. 新增 XHTML 表单
  2. 新增内置事件
  3. li 对象新增 value 属性
  4. 新增 target 属性
  5. 新增 style 对象
  6. 新增 style 属性
  7. 新增 XHTML 展示模块
  8. 新增 inputmode 属性

你可以到 mobileOK checker 对你的移动 Web 进行验证,以测试其是否对移动设备友好。

语义一致与合理命名,及常见错误

转自http://www.junchenwu.com/2006/01/buttoninput.html

一句话概括主题:<button>具有<input type="button" ... >相同的作用但是在可操控性方面更加强大。

HTML 4.01规范Forms部分指名表单有以下几种控制类型:buttons, checkboxes, radio buttons, menus, text input, file select, hidden controls, object controls. 其中除了buttons/menus/object controls之外,都是由<input>完成。

我这里说的是<button><input>

<button><input>

规范中指名:可以用<button><input>来做表单按扭。不同的按钮类型请参考这些元素的详细定义。要注意的是<button><input>支持更丰富的表现功能。

一些区别

大家都知道<input>可以这样用(实际上是一定要这样用):<input type="submit" value="OK" />,一定要这样闭合。而不是:<input type="submit" value="OK" ></input>。因为起始标签为必须,而关闭标签是禁止的。

<button><input>更厉害的地方就在于它可以包含内容。它的值并不是写在value属性里,而是包含在标签中。如:<button>OK</button><button>的起始标签和关闭标签都是必须的。这样你便获得了样式化的主导权。

你可以这样写:<button><strong>OK</strong>, I do.</button>,甚至是插入图片:<button><img src="button.gif" alt="" />, it's great.</button>。有点类似于<input type="image">,但是显然强大多了。

最后要注意的是,被<button>包含的图片,不能使用热点地图,即不能<img src="foo.gif" usemap="..." />,这是不合法的。当然也不能再包含诸如input, select, textarea, label, button, form, fieldset, iframe,和isindex(不推荐使用)元素了。

(X)HTML Strict 下的嵌套规则

下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a> 里面再嵌入一个 <a> 这样的约定。

说明:

  • 为了方便读者阅读,本文中的标签使用了大写(根据 XHTML 的规则,元素名必须小写,比如 <html> 而不应是 <HTML>
  • 小写的单词表明一组或一系列 HTML 标签
  • 每一项条目(标签)后都跟随一组标签列表,如果没有这个列表,那么表明该条目(标签)内部不允许包含任何标签。这意味着该条目内部只能包含纯文本内容(#PCDATA,见下文)。如果注明 (empty),这意味着该条目内部不允许包含任何形式的内容。对于 flow,inline,block,OBJECT 和 BODY,其内部允许包含的内容在文中会单独给出。
  • #PCDATA 的意思是“parsed character data”,即纯文本内容(不包括任何 HTML 标签,但是转义内容可以存在,比如 &auml;&#228;
  • CDATA 的意思是“character data”,这意味着不包括转义内容的纯文本内容,详细内容可以参考CDATA Confusion
  • excluding … 意即不得直接或者间接的包含所列的元素
Allowed Nesting of elements in (X)HTML Strict

allowednesting

注1. 以上内容基于 [HTML 4.01 Specification] 的 Strict DTDJunChen 翻译自 Allowed nesting of elements in HTML 4 Strict (and XHTML 1.0 Strict)

注2. 对于 XHTML 1.0,基本上一致,不同点如下:

  • 对于 <script><style> 的内容,在 HTML 4 里是 CDATA 而在 XHTML 里是 #PCDATA
  • 在 XHTML 中,<table> 标签后可以紧跟一个 <tr>,而在 HTML 4.01 里,不允许这样,不过 <tbody> 标签又是可以省略的。意思就是说,如果代码中的 <table> 后紧跟 <tr>,对于 HTML 4.01,会隐性的生成一个 <tbody> 标签,而在 XHTML 里面就没有。这会影响到样式表使用 tbody 作为选择器。

Ubuntu获得Linux World Expo 2008 “最佳桌面方案”称号

在加利福尼亚旧金山举行LinuxWorld Conference and Expo 2008上,Ubuntu因为对Linux桌面化的贡献而获得了“最佳桌面方案”称号.
本次评奖共设12个奖项,专门授予对Linux和开源事业发展有突出创新贡献的社团.目前Ubuntu在22个国家拥有机构和雇员,Ubuntu本身也是Linux发行套件中在桌面平台最受欢迎的一个.以下是所有奖项:

閱讀全文

正确使用XHTML的冒险

原文:http://www.456bereastreet.com/archive/200501/the_perils_of_using_xhtml_properly/

作者:Roger Johansson

翻译:Neo (http://www.omemo.net/neo)

修正:JunChen

JunChen注:omemo.net网站似乎已经挂掉,链接都失效了。文章写得非常不错,一直是Best of 456 Berea Street。在这里发布的时候我进行了少量代码上和翻译上的修改,以忠实原著。

我使用XHTML有些年了,但直至去年夏天我才着眼于如何正确使用,那就是说,以application/xhtml+xmlMIME类型来伺服(server)它。虽然我遇到了这些问题,但我知道问题远非如此。就如你即将发现的一样,当你开始使用真正的XHTML,你会遭遇很多似乎细小但让人困惑的问题。

请注意这不是一篇讨论支持或反对使用XHTML的文章。我只是写下我所知道的潜在的易犯错误,并且让你自己来决定自己的选择:HTML 4.01,为所有浏览器伺服为text/htmlXHTML 1.0或者为能够处理其的浏览器伺服为application/xhtml+xml而其他浏览器则伺服为text/htmlXHTML 1.0。否则有些东西会完全不一样。

只有在问题发生的时候,我才有机会去了解和认识这些东西。有些情况下我必须花很多时间来查找问题和求助于其他人,来寻求一个解决方案。但我在其中学到不少东西,我会把我已经使用XHTML后应该知道的都告诉你。

注意我这里提及的问题只会发生在能正确处理application/xhtml+xml MIME类型的用户代理中,而因此XHTML被作为XML。这也可能是这里不提及XHTML的早期使用的原因——很少有人使用这样的浏览器,所以几乎不会有人因只伺服为text/htmlXHTML所烦忧。

今天,实际上把XHTML伺服为application/xhtml+xml正慢慢变得平常。我所知道的理由有两个:

  1. 使用Firefox,Mozilla,Opera,Safari和其他兼容XHTML浏览器的人数增加了很多,所以你不再仅仅为自己和伙伴这样做。嗯。或许你就这样做,当将影响更多人。
  2. 在web开发者之间,对XHTML的真正面目是什么的觉醒越来越多了。使用XHTML已经有多次多时的热烈的讨论,尤其是伺服为text/html的时候。如果你参与了任何一次讨论,你知道我在说什么。

假如你,像我,决定实现某些类型的content negotiation和在传送XHTML的时候使用正确的媒体类型,你需要知道什么能(和将)在你发布的文档中发生,并且知道怎样避免问题的发生。对于对content negotiation同进行content negotiation的脚本例子有兴趣的读者,我推荐你阅读Content NegotiationServing up XHTML with the correct MIME type。还有很多这种类型的文章,但这是我读到的最精彩的两篇。

每一个基本的教程都有一些HTMLXHTML的明显区别:元素和属性名字使用小写,属性值总要用引号。不要使用简化属性,确保所有的元素都有结束标签和没有不正确的嵌套等等。但是,当XHTML伺服为application/xhtml+xml时还需要知道更多东西。

良好的结构是必须的

文档必须是良好的结构(well-formed)的XML(跟合法的(valid)XHTML不必然相同)。就是必须,不是可能。

如果文档结构不好,符合标准的浏览器(当前我知道Mozilla,Firefox,Netscape,Camino,Opera,Safari和OmniWeb——相当多的浏览器除了IE)将会显示错误信息并且以某种方式中止处理文档。

此外,这还意味着不再使用未编码的”&”号。

XML声明可能是必须的

如果要使用UTF-8或者UTF-16以外的变法,必须要XML声明,除非HTTP头已经提供编码。

在HTTP头中是否要指定字符编码有些模糊,Architecture of the World Wide Web, Volume One: Media Types for XML这样写的:总体上,不应该在协议头为XML数据指定字符编码,因为数据本身已描述。

另一方面,XHTML 1.0, Second Edition: Character Encoding写到:

为了让文档使用指定的字符编码,最好的办法是保证web服务器发送正确的头。

就是说,在XML声明中指定字符编码是好的习惯:

<?xml version="1.0" encoding="iso-8859-1"?>

只有五个实体是安全的

只有五个预定义的实体(&lt;, &gt;, &amp;, &quot;, 和&apos;)的支持是有保证的。其他的可能完全被忽略或者直接输出。比如,如果XHTML文档包含如&nbsp;或者&rdquo;的实体,Safari会直接地输出。Opera反而选择忽略未知的实体,同时Mozila家族会认得这些实体并且就像HTML中“如果文档引用公共的映射浏览器伪DTD目录中的标识符并且没有单独声明的文档”来处理。

使用UTF-8字符编码是最受推荐的,让你(几乎)可以使用你需要键入文档的任意字符,不需要实体或者字符编号。如果你不能或不愿使用UTF-8,数字式的字符编号是可以支持和安全使用的。

SGML式注释的内容可能会被忽略

SGML注释(HTML风格注释, <!-- 注释 -->)可能会(并且会)被浏览器当作注释,就算是在script或者style元素内部使用。

HTML中,普遍地把scriptstyle的内容装入注释中,为的是在不认识scriptstyle元素的浏览器中隐藏他们,并且在页面上把其内容生成平白文本。

XHTML中,这样做会引起浏览器忽略掉注释里的任何内容。

在老的浏览器中隐藏scriptstyle的习惯可以追溯到1990年代中期。我的经验是,有如此表现的浏览器是十分罕见的,所以你可以安全地忽略它们,并且停止在脚本和样式中装入SGML式注释,就算你使用的是HTML。

脚本和样式元素的内容也被当作XML

样式和脚本元素是PCDATA(parsed character data,解析字符数据)块,不是CDATA(character data,字符数据)块。因此,在其内看起来像XML的任何东西都会被当作XML来解析,并且会引发错误除非是良构的。

为了在scriptstyle块中使用<、&或者–,你需要用CDATA

  1. <script type="text/javascript">
  2. <![CDATA[
  3. ...
  4. ]]>
  5. </script>

在CDATA里,你可以任何顺序的字符,它们不会被当作XML来解析(除了结束CDATA部分]]>)。

需要以text/html发送的文档中,CDATA部分的起始和结束标签需要注释掉,以便在不能处理CDATA部分的浏览器中隐藏:

  1. <script type="text/javascript">
  2. // <![CDATA[
  3. ...
  4. // ]]>
  5. </script>
  1. <style type="text/css">
  2. /* <![CDATA[ */
  3. ...
  4. /* ]]> */
  5. </style>

如果要确保很老的浏览器隐藏CDATA部分,需要使用更为复杂的方法,像在Ian HicksonSending XHTML as text/html Considered Harmful中描述的那样:

  1. <script type="text/javascript">
  2. <!--//--><![CDATA[//><!--
  3. ...
  4. //--><!]]>
  5. </script>
  1. <style type="text/css">
  2. <!--/*--><![CDATA[/*><!--*/
  3. ...
  4. /*]]>*/-->
  5. </style>

一个更好的办法可能是在发送text/html的文档前使用content negotiation脚本来删除任何CDATA部分。

当然,最聪明和安全的途径是把所有的CSS和JavaScript都移动到外部文件中,但不总是现实的做法。

没有会自动补全的元素

HTML中,假如表格的tbody元素漏写的话浏览器会自动补全,而XHTML不会。如果你没有清楚地添加tbody,它就不会出现。在编写CSS选择器和JavaScript的时候请铭记在心。

用document.write编写的脚本不再工作

XHTML中使用JavaScript,document.write不会工作。Ian Hickson在Why document.write() doesn’t work in XML解释了原因。你需要使用document.createElementNS()代替。关于更多可以在Experts Exchange中的论坛主题中找到。

这也是Google AdSense不在XHTML中工作的原因之一。那些希望以application/xhtml+xml伺服XHTML并且使用Google广告的人,这儿有一个解决办法:Simon Jessey的Making AdSense work with XHTML。尽管有点麻烦,但还是工作了(我在这里也使用了),同时被Google所认可。

引入样式元素

XHTML中,为了兼容定义CSS规则的XML方法,你应该使用XML样式表声明(访问 XHTML 1.0, Second Edition: Referencing Style Elements when serving as XML的XML样式表声明和Associating Style Sheets with XML documents的xml-stylesheet处理说明)。要载入外部CSS文件,我们需要使用style元素,同时应该使用XML样式表声明来引入样式元素。为此,使用id属性给style元素一个分解的标识符,然后在XML样式表声明中引入该标识符:

  1. <?xml-stylesheet href=”stylesheet1.css” type=”text/css”?>
  2. <?xml-stylesheet href=”#stylesheet2” type=”text/css”?>
  3. <!DOCTYPE html
  4. PUBLIC “-//W3C//DTDXHTML 1.0 Strict//EN”
  5.  

  6. “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
  7.  

  8. <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en”

lang=”en”> 

  • <head>
  •  

  • <title>XML stylesheet declaration</title>
  •  

  • <style type=”text/css” id=”stylesheet2”>
  •  

  • @import “stylesheet2.css”;
  •  

  • </style>
  •  

  • </head>
  •  

    我不知道在实际中究竟有多必要,并且不使用XML样式表声明的话会有什么问题。或许有人会指点我的。

    CSS的应用规则有些不一样

    CSS应用到body的性质(property)并不应用到XHTML的整个文档。最值得注意的是应用背景颜色或者图片。在HTML中,应用到body元素的背景将会覆盖整个页面。在XHTML中,你必须同时样式化html。在Juicy Studio的CSS body Element Test中有这个行为的演示。

    XHTML中作为CSS规则的元素和属性名字是大小写敏感的(而且必须是小写的)。避免问题最简单的办法是,不管在HTML,XHTML还是CSS中所有东西都保持小写。

    有挑战,但不是不可能

    当我开始为兼容的浏览器伺服XHTMLapplication/xhtml+xml时,在作出决定前假如我能读到想这篇一样的文章,或许我的头痛可以减轻不少。我甚至考虑使用HTML 4.01 Strict。虽然如此,我还是从经验中学到不少,而学习总是一个好东西。

    正确地使用真正的XHTML,十分希望这篇文章能为你提供一些更有用的信息,并且可以为是否需要走这条路提供更多有根据的决定。

    HTMLXHTML可能比我在这里提到的还有更多地不同,所以在这里把你在使用application/xhtml+xmlXHTML时遇到的问题提出来,如果你知道任何的错误或者忽略,务必告诉我。

    Source Forge 宣布2008年度社区选择奖

    SourceForge宣布了2008年度社区选择奖
    最可能改变世界的项目:Linux
    最佳项目、最佳企业项目和最佳教育项目皆为OpenOffice.org

    最有可能成为下个10亿美元收购项目:phpMyAdmin
    最佳多媒体项目:VLC
    最佳游戏项目:XBMC
    最佳新项目:Magento
    最有可能被起诉侵犯专利的项目:Wine Is Not an Emulator
    最有可能让用户被过时的行业协会为保护死亡的商业模式起诉的项目:eMule
    最佳系统管理工具:phpMyAdmin
    最佳开发者工具:Notepad++

    将最小特权原则应用到Windows XP 用户帐户

    引言

    联网技术的最新发展(如与 Internet 间的永久连接)给各种规模的组织带来了极大的机遇。不幸的是,计算机与网络(尤其是 Internet)之间的连接增加了遭到恶意软件和外部攻击者攻击的风险,各种风险此伏彼起。

    Sophos 是一家 Internet 安全公司,它发现,检测到的恶意程序的数量由 1999 年 11 月的 45,879 个上升到 2005 年 11 月的 114,082 个,在过去六年中以每年至少 10% 的速度增长。2005 年 11 月,Sophos 发现了 1,900 多个新的恶意软件,如病毒、特洛伊木马和间谍软件程序。其他防病毒供应商所报告的恶意软件的数量和类型方面的增长情况与此类似。

    赋予用户对客户端计算机的管理权利的倾向,是造成恶意软件的风险不断增加的重要因素。如果用户或管理员使用管理权利登录,他们运行的所有程序,如浏览器、电子邮件客户端和即时消息程序等,也同样具有管理权利。如果这些程序激活了恶意软件,恶意软件就可以进行自安装,操纵诸如防病毒程序之类的服务,甚至隐藏在操作系统中。用户可能在无意识且不知情的情况下,访问一个其安全性已受到破坏的网站或单击电子邮件中的链接或执行其他操作,进而导致恶意软件运行。 閱讀全文

    微软正式停止售卖Windows XP

    今天,微软决定停止销售其Windows XP操作系统给零售商和电脑制造商,然而许多PC用户不想要放弃XP而转向Vista,他们对此提议表示不满.
    一旦装有XP的电脑在PC制造商,例如戴尔和惠普,中彻底清除后,一些适应了旧的操作系统的用户,在购买新机子的时候将不得不购买Vista旗舰版或者Vista商业版.
    在近几个月,微软将仍然允许小型的PC营造商商店购买转售的XP,对于超低成本PC机例如华硕Eee PC机,Windows XP的一个版本仍然可以使用.

    一组拥护“保留XP”的计算机拥护者在业界的资讯网上张贴了请愿书,要求微软保持销售XP直到下一个操作系统Windows 7出售.软件制造商预计微软在2009年将会发放Windows 7.

    上周,微软表示,公司将对Windows XP提供6年全面的技术支持.

    Windows XP SP3 发布时间确定,本月将全面提供下载

    微软已经正式公布 Windows XP Service Pack 3 的最终发布日期,在前几个 RC 版本中,大部分参与测试的用户已经发现,SP3 较之 SP2 和 SP1 有着一些本质的变化,并且在各方面的性能都有所提高。也令那些不愿意接受 Vista 的 Windows 用户们,着实等待了很久。此次公布的发布日程基本上都在本月完成,昨天开始,微软针对 SP3 的服务支持已经开始,21 日,OEM、Volume License、Connect、MSDN 和 TechNet 订户均可先收到,29 日 Microsoft Update、Windows Update 和下载中心都将会提供 SP3 的下载:– April 14, 2008: Support is available for the release version of Service Pack 3 for Windows XP
    – April 21, 2008: Original Equipment Manufacturers, Volume License, Connect, and MSDN and TechNet subscribers
    – April 29, 2008: Microsoft Update, Windows Update, Download Center
    – June 10, 2008: Automatic Updates

    此外,根据微软公布的发布计划,在 6 月 10 开始,将会自动更新 SP3。

    微软鲍尔默谈欧盟罚单 暗示不应再拿垄断说事

    国外媒体近日刊登了对微软首席执行官史蒂夫·鲍尔默(Steve Ballmer)的最新采访记录.在这次采访中,鲍尔默谈到了欧盟对微软开出8.99亿欧元(约合13.5亿美元)新罚单、微软收购雅虎计划陷入僵局等事 宜,并指出在目前科技产业的各个领域,市场竞争已非常激烈,原因是甲骨文、IBM、Google、苹果以及Linux社区的实力都在日益壮大.鲍尔默言下 之意是,欧盟不应再拿垄断说事而开罚单.
    下面就是这次采访的精彩摘要:

    微软鲍尔默谈欧盟罚单 暗示不应再拿垄断说事

    问:微软上周宣布,将加强产品开放性.在你们宣布该声明的时候,你们是否知道欧盟会给你们开出(13.5亿美元)新罚单?

    答:我们事先已知道欧盟会开出罚单.虽然不清楚(开出罚单的)具体时间会是本周,但知道这一天迟早都会到来.已不是什么新闻,其实我们完全遵守了欧盟反垄断裁决,而且也得到了欧盟认可.这次罚款主要涉及执行欧盟裁决之前的一些活动.欧盟的克罗斯女士(注:指尼莉·克罗斯(Neelie Kroes),欧盟反垄断专员)认为,我们在此之前曾出现过违规,因此还得接受处罚.

    问:你觉得今后欧盟是否还会继续找微软的麻烦?

    答:作为一家具有巨大市场影响力的大型企业,全球任何国家的监管部门都会关注微软的市场动向.(应对反垄断事务),已经成为微软日常运营的组成部分.

    问:如果雅虎管理层和董事会接受你们的收购请求,你觉得面临的最大监管障碍将是什么?

    答:这个我也说不好.我对此无可奉告.我个人认为,监管机构将依据他们手中的适当管辖权来过问此事,而且我肯定他们会公平处理此事.

    问:(微软董事长)比尔·盖茨前不久表示,不会在目前446亿美元出价基础上提高出价.那么你们下一步怎么办?是不是正计划提名进入雅虎董事会的人选?你们将从何做起?

    答:在这种事情上,除非事情已经完成,否则就得继续做下去.每个人都在揣度你的意图,每个人都告诉你各不相同的事情最新进展.如果有了重大消息,我将在第一时间通知你们.

    问:(微软收购雅虎案)时间过去了这么些天,为何还没有实质进展?

    答:因为很多收购活动都需要较长时间.

    问:苹果今天表示,将为其iPhone智能手机增加不少功能,其中包括增加企业应用.我就奇怪了,苹果是不是正与微软合作,来一起加强企业通信应用?

    答:根据我们公布的加强产品兼容性原则,在需要之时,我们愿意同任何外部企业提供商业机密和专利信息授权.就苹果来说——我不便评论该公司是否将获得我们的技术授权,但如果苹果愿意这样做,肯定与微软加强产品开放性的大方向是一致的.

    问:Windows Server 2008发布后,微软将从哪方面获益最多?是与Linux相比,它的性能更优良?还是与虚拟化软件相比,它的功能更全面?亦或是其他方面的优势?

    答:是这样的(笑).什么是虚拟化软件?不外乎就是有关管理、超级管理而已.我们只是把现有产品性能加以优化,将各种高质量管理工具集成到一起,从而对Windows服务器、虚拟化软件提供支持.

    问:在你谈论Google时,你觉得该公司是否会在商业客户市场领域成为颇有实力的对手?

    答:确实如此,他们手上拥有很有价值的产品.在我们与客户谈论产品价格时,他们通常会拿Google应用软件来作为谈判筹码.当然我们认为,微软产品更具市场价值.

    问:一两年前,你一再表示,无论在商业客户领域还是整体上看,IBM才是微软的最大竞争对手.如果现在再问你同一问题,你觉得微软当前最大竞争对手是谁?

    答:开放……Linux.我不想说出“开放源代码”这个词汇.Linux,他们当然得那样做.如果从这个角度上看,(微软最大竞争对手)应该是Google.实话实说,在个领域内,情况就倒置了过来,我们很渺小,他们很强大.当然在其他领域,我们很强大,其他人实力还不行.

    问:你说的这个其他人,是否也包括苹果在内?

    答:苹果啊,对了,他们做得不错.在很多业务领域,他们都是微软的竞争对手.当然还有其他人,如IBM等等.

    问:那从娱乐业务领域看,是不是也应包括索尼在内?

    答:这个不好说.微软娱乐业务主管或许会认为是苹果,而其他部门主管心中也会不同的竞争对手形象.如Windows和服务部门会认为为Google;服务器和工具部门会认为为Linux或甲骨文,或者加上IBM;商务部门则会认为是Open Office等等.

    腾讯科技编译

    GTK+即将获得Mac原生主题支持

    GTK+在Windows上的表现比较令人满意,但在Mac平台上,似乎就差强人意了.不仅需要X11的支持,风格主题还与Mac OS X的Aqua格格不入.不过,随着开源社区的努力,这些不足很快就要改变了.Mac平台上基于GTK+的软件很少,虽然GIMP是比较著名的一个,但是如前面所提到的,X11和主题风格让GIMP不能很好地与Mac系统相协调.而另一方面,基于Qt 4的KDE 4,不仅众多软件可以非常完美地运行在Mac下,甚至连KDE桌面本身也能做为一部分运行在Mac下.现在GTK+开发者正在努力改变这一不足, 首先带来的就是名为quartz-engine的GTK+主题引擎,使得GTK+应用程序在Mac下有Aqua的视觉效果.
    请看下图: gossip-quartz-theme.png

    用过Gossip的朋友应该不难看出,这是Gossip的帐户设置界面,现在它完全换了一种风格。而Mac用户则会毫不怀疑的认为这就是一个Mac软件应有的标准界面。

    你或许还会问,菜单是怎么样的呢?对了,Mac下的软件都有一条统一的菜单,这个当然不能忽视,也将是原生的Mac菜单样式。

    gossip-mac-menu.png

    做这项工作的作者的主页是:http://people.imendio.com/richard,假如你愿意协助,相信他会很乐意的。

    在可以预见的未来,我们将会看到GTK+应用程序也能非常棒的运行在Mac平台下,做到真正的跨平台。

    无论对普通用户还是开发者甚至整个软件业界来说,都是一件好事:

    • 普通用户即使到了另一个陌生的平台也能很快上手,因为他可以用自己曾习惯使用的软件。
    • 而开发者可以使用自己喜欢的开发工具来开发跨平台软件,不必担心在其他平台有什么不适。
    • 对于整个业界, 软件的互通性,使得各个平台之间的交流更加畅通,真正促进整个大环境的进步。

    LDCN供稿,LDCN(即LinuxDesktop.cn的缩写),中文名──“Linux桌面中文网”,是一个由在校大学生发起的,旨在让所有Linuxer一起参与、更新的Linux资讯、应用互动型社区站点.

    Linux内核曝危急漏洞

    来自Secunia的安全人员已经发现了Linux内核中的“危急”等级安全缺陷,这一版本的Linux内核被大量的分发套件所用.
    该缺陷包含三个bug,可让未经授权的用户读取或写入内核内存位置或访问某些资源,攻击者可以利用该漏洞制造拒绝服务攻击,泄露保密信息甚至获得root权限.
    该缺陷影响所有版本的Linux内核 2.6.24.1,其中一个还打了补丁仍不奏效,其中应用该内核的分发套件包含Ubuntu, Turbolinux, SuSE, Red Hat, Mandriva, Debian等,几乎涵盖了绝大多数Linux分发产品.

    Linus眼中的世界

    2008年Linux.conf.au大会目前正在澳大利亚的墨尔本举行,Linux之父Linux Torvalds在会议期间接受了来自Andrew Hendry的采访,感兴趣的读者请随我一同往下看:
    他没有手机,且引以为傲。他还认为“虚拟化”有些许言过其实了。让我们看看从Linux宗师Torvalds这里还能了解到什么。
    Torvalds:嗯,人们总会为编写新代码、加入新特性之类的事情而兴奋。我们的做法是,用两个星期的时间作为合并窗口,所有新代码都在这段时间加入。 在这段时间里,每个人都真的很开心,因为这些事情很有意思,加入新代码并因此而自豪。可是当这两个星期一过去,就得确保所有bug都被清除了,我们会收到 来自于真正使用这些新特性用户的报告,这时工作起来就不那么带劲了,debug可不像一开始写代码那么有趣。

    所以,最大的困难就在于让大家在下一个合并窗口前别再写新的代码了(通常这个间隔是两个月)。大家需要集中精力解决用户反馈的上个合并窗口中的bug,而非写新的代码。人人都知道这很重要,可是它确实没有编写新代码让人激动。我觉得这是在内核开发中最大的社会问题。

    Torvalds: 在过去几年里我真正所做的事情是“沟通”。我最终合并其他人所写的代码。实际上除了有关内核的一些工具,我自己却很少写内核代码。我为源码控制管理工具编 写代码,用它来追踪每个人的工作情况。代码来自不同的人,每个补丁都被按正确次序单独跟踪,然后合并到一起。我把合并的代码写如内核。相对于开发者,我更 多地像是个技术领袖,在过去大约5年的时间里都是如此。

    Torvalds:我是KDE的用户,不过KDE 4我还没用过。我不想赶时髦。过去我确实发送错过误报告之类,但我还有时间去升级。大概我会等到 KDE 4.1左右或者等到一些初期问题都被解决的时候。

    Torvalds: 我根本就没有手机!我讨厌电话,因为我是那种工作时全神贯注的人,如果有人给我打电话,我就完全没办法集中注意力。我恨电话,因为它们总会干扰你,而手机 就更可恨了,因为它一直都粘着你,所以我根本就不用手机。我的工作间里有一台早期的Linux手机,那是免费的,但它是关着的。我所有的机器上都有 Linux,唯独电话上没有。

    Torvalds:我想我们已经收到了吧。他们做的一件大事是电源管理,他们在没有程序运行的时候关闭 CPU却让屏幕能继续亮着。这是不久前提交进来的。我们对时间的看法更灵活了——我们确实能在更长的时间里避免时钟中断发生。我想OLPC已经参与进来 了,不管代码是否直接发给了我。

    Torvalds:我想它有点言过其实了,“虚拟化”是时髦词汇中的一个。对虚拟化感兴趣的人大概有三种 情况。第一种是桌面应用,用虚拟器运行另一种操作系统,例如用VMWare来在Linux机器上运行Windows。我个人对此一点兴趣也没有,为何我想 在Linux机器上运行Windows?

    第二是许多商务人士用虚拟化环境来更好地利用他们的计算机。他们有台很强悍的机器,但他们想运行很多不同的东西而又彼此保持隔离,所以他们用虚拟化来分割独立的机器。如果你有一台大机器能分割成小部件,这对IT人士有好处,能够更好地管理,而这也不是我需要的。

    第三是运行过时的操作系统,或者一个操作系统的旧版本,因为有些程序非得这样才能运行。但是这些原因都不符合我的情况,所以我个人对虚拟化不是很感兴趣,它跟我做的事无关。

    事实上,我对虚拟化完全不感兴趣并不代表我不支持它,我们已经有了很多在Linux上支持的虚拟化的方式,并非要我感兴趣了才能让事情发生。

    Torvalds: Linux用在商业环境中的一个原因,我想是因为它非常灵活。不单单是便宜,还能把它调整到适合特定的用途。在开发者的世界里有两个原因,很明显首先价格 总是一个大问题,特别是当你想逐步建立自己IT系统的时候。当你不知道如何运行而且又无修改的时候,买一个预先做好的系统是毫无用处的。当面对一个完全设 置好的系统,你只有很基本的了解却根本无法看出它是如何运行时,就完全无法从零开始获得提升,你无法从中学到东西。你可以学着去使用它,但无法学着去再创 造一个类似的东西。

    所以,我觉得OLPC一件做得很好的事情就是他们提供的很多应用程序都是用非常易用的编程语言写出来的。那可能不是最 高效,也不一定是我会用到的语言,但Python确实很容易学,非常直观。我想他们有一个特别的按钮,当你在用这些程序时,只要按一下就能看到源代码,因 此你能彻底了解程序是如何工作的。当你把事情搞乱时,你可以说:“我想回到原始的状态,因为我的改编程序行不通”。但我想假如真的不仅仅是提供电脑给人们 使用,而是还希望把计算机技术传授给他们的话,不单单是是会用文字处理器,而是了解它如何工作的时候,Linux和其他开源项目就当仁不让了。如果没有源 代码,用户只面对的只是一个黑箱。

    别误解我,价格是很重要的,但我认为能获得源代码来学习要重要得多得多。即使大多数人看源码,仅仅把电脑当成工具来用,但哪怕只要有一小部分人去看源码并试着理解它,就会获得计算机科学中虽然小但却是核心的能力——无论在哪儿,哪怕是在撒哈拉以南的非洲。

    Torvalds: 过去15年中,Linux完全做到了我想要它做的每件事。早先我的激励来自外部:来自于其他人发现,我发现不了问题。就这么简单,现在也是这样。所以真正 激励我的是其他人遇到的问题,有时他们也会让我觉得“真是疯了”,但有时正是这些疯狂的人遇到最有趣的难题。

    我个人一直对桌面应用感兴 趣,因为我习惯把系统当工作站,但它的桌面功能却很有限。因为很多用户关心的我却并不关心,所以个人来说,我会对与我的使用体验相近的那些桌面用户发现的 问题更感兴趣。但同时,一些技术上更有意思问题来自于嵌入式环境。他们对Linux非常严格的要求,因为通常在一个很小的机器上做,专注一个功能,需要便 宜的机器,这样可以才卖出千万份。桌面用户要好过得多,因为他们的机器其实很大很强,但真正有趣的技术挑战有时是来自于移动用户。尽管他们经常抱怨的是用 户界面倒不是内核。

    基于反相代理的Web缓存加速——可缓存的CMS系统设计

    内容摘要:
    对于一个日访问量达到百万级的网站来说,速度很快就成为一个瓶颈。除了优化内容发布系统的应用本身外,如果能把不需要实时更新的动态页面的输出结果转化成静态网页来发布,速度上的提升效果将是显著的,因为一个动态页面的速度往往会比静态页面慢2-10倍,而静态网页的内容如果能被缓存在内存里,访问速度甚至会比原有动态网页有2-3个数量级的提高

    后台的内容管理系统的页面输出遵守可缓存的设计,这样就可以把性能问题交给前台的缓存服务器来解决了,从而大大简化CMS系统本身的复杂程度。
    閱讀全文

    Linux比Vista更兼容Windows

    感谢tunpishuang的投递
    今天看到了一则Slashdot的消息称:Linux比Vista更兼容Windows。翻译一下吧:
    别压榨我的游戏:
    我已经使用了1年的Vista(从beta1开始),当然它很慢,很大(XP的10倍多),Aero扼杀了系统性能(尽管aero特效由显卡来渲染),网络是慢得可怜啊,等等,我们都知道Vista是很烂的。
    查看:Linux has better Windows compatibility than Vista 閱讀全文

    送粮人员:冰天雪地,终于“超长待机”的重要性了

    感谢北大学生的投递
    新闻来源:水木社区
    笔者是往广东京珠北受困车龙送粮的人员之一,亲见手机电池的重大作用。全国春运前出现灾难性雪雨,数十万人滞留或被困在交通要道上,前不着村,后不着店,
    除了食物,手机是唯一联络外界的生命要道。中国移动这一次是好样的,全力维护信号塔的正常,因此,哪怕在冰天雪地中也保持了手机信号。
    剩下的就是手机的问题了。
    在这种重大的天灾情况下,名牌手机一直以来的瓶颈终于在这次大考验中全面败下阵来,并且为几万人带来了灾难性的打击。黑手机一直被BS着,它唯一的卖点“超长待机”终于在今年春运中体现出了无以伦比的优势。

    这 条车龙累计几万人,已经困在高山雪地上五天了!全部的诺基亚,索尼爱立信,东芝,摩托罗拉等重量级手机全部弹尽粮绝!只有少数有自知之明的携带了多块电池 的人还在维系着。一个拿着诺基亚N81的小伙子欲哭无泪,他是在广州中山大学读书的,坐了一辆大巴向郴州家里赶,没想到堵在这里几天,四千多元买回来的 N81在两天前就已经完全开不了机了,跟家人说的最后一句话是说叫姐夫借一辆车开过来接他,还没有说到具体到哪里接,就断了。

    断了后还能开机,虽然报警电量,但他仍坚持打姐夫的电话,谁知对方的手机一直提示“正在通话中”,而在这个能开机的重要关头他也忘了把手机中重要的联系电话用笔和纸备份下来,等到手机完全开不了机的时候,他才傻眼了,虽然问好心人借来了电话,可是他头脑中完全记不住电话号码了:“我家里没有固话的,现全家人都是用手机,平时存在手 机,根本不记的,现在你给我手机,我也记不住这个号码呀!”他说看周围能不能借一个你这种手机的电池呗,结果,N81不但借不到电池,连这种型号很多人都 没有见过,而他的姐夫很可能已经在来的路上,但是茫茫几万人,怎么找得到他的位置?.

    同样的情况出现在几部名牌手机上面。有一个做生意的人用的是V3,薄手机能有多少电?他的早在三天前的一大早就断了联系了,唯一庆幸的是,他的商人习惯,还有名片夹,还有一个手写电话本,心里多少安定了一些。

    另一个小伙子则安心得多,他买的是一款连名字也叫不上的手机,一看就知是MTK的东西,但是人家的电池是3500毫安的,他说只要不玩不乱用,撑个十来天的能做得到。他现在的电量还有2/3左右,但看到大家手机没电后产生的问题,他也学精了,有电也先关机,紧急时再用。

    同理,除了困在高速公路上的这十几万人,更有数百万人困在了火车站,机场,这里面临同样的困难,没电,而且没地方充电,与外界的联系即将断路!为远方的亲友留下未知的恐惧和担心!

    在这种重大的天灾情况下,名牌手机一直以来的瓶颈终于在这次大考验中全面败下阵来,并且为几万人带来了灾难性的打击。黑手机一直被BS着,它唯一的卖点“超长待机”终于在今年春运中体现出了无以伦比的优势。

    本人无意为黑手机翻案,但通过此次实实在在影响数十万人的事件,名牌手机还不该做点什么吗?

    IE8和网页标准

    W3C终于发布了第一个HTML5草案,大家还沉溺在HTML2XHTML转换的快乐和痛苦中时,却又突然发现,HTML5和XHTML2,到底谁是未来?……,当然,HTML5和XHTML2会保持最大兼容性,W3C和WASP肯定比我们更清楚这一点的重要性。不过如果都“最大兼容”了,为何不统一呢?HTML那种不标准的代码解析起来可不怎么好玩。

    我想抱怨的是,W3C的效率那是相当出名(就像IE实现标准的效率),现在第一个草案,正式定稿最早是2010年,这么算起来,要等IE支持(我坚信那时IE仍是主流浏览器),恐怕我们的显示设备原理和效果都升级换代了。到时再用一份“妥协”过的“标准”——拜托,这可是IT产业。很多美好的标准或技术,从我们开始期盼,到我们都不再编码,它都不会实现。

    其实HTML5这事儿没多大动静,闹得正欢的是IE8实现“超级标准模式”的事儿,IE开发团队为了让只认识IE的,用IE6/7的所谓“符合标准”代码,错误的实现他们想要的样式的网页作者们不用修改他们的网页,决定让IE8在“标准模式”下实现IE7的显示结果,而实现“更正确”的标准需要在网页中加入一段META信息。

    嗯,技术一点来说,IE6依靠DOCTYPE来区分怪癖模式(IE5.5或更早版本的绘制网页方式)和标准模式,但IE6实现的“标准模式”依然有许多错误,而当IE7改进“标准模式”时,这些“错误的标准模式的代码”就会展现出错误的样式。为了避免该问题再发生在IE8身上,IE团队决定使用一个META标签或HTTP包header来告诉浏览器,用“超级标准模式”来绘制网页,而现在的标准网页将默认为IE7的绘制方式。

    再直白(或讽刺)一点,如果ACID2测试网页要想在IE8下正确表现,ACID2测试需要修改网页,加上一个META信息,告诉IE8用“超级标准模式”。真CCTV。

    为过去的部分错误网页,IE要牺牲未来的网页。微软总是在用一个错误掩盖另一个错误,所以,我们总是要疲于解决浏览器间(准确地说是IE和其他浏览器)的兼容性问题。“不破坏现有网络”总是被当作微软的借口,事实上他们每次发布新版IE都“履行”了这点,总是有新bug推翻了这个借口。

    当然,这个想法看上去,不是完全没有好处,至少我们可以让网页在IE下始终显示如一(来兼容MS犯下的错误)。可是,当IE9修正了IE8的错误标准时,我们该怎么办?如果还是需要IE条件注释或CSS HACK来解决的话,那这个标签有什么意义?还是说,微软以为这个标签就可以让大家都总是平滑听话的升级到最新的IE,就像Opera社区那样?

    让IE永远用最新的版本绘制网页

    <meta http-equiv=”X-UA-Compatible” content=”IE=edge” />

    或者用HTML5的doctype

    <!DOCTYPE html>

    (IE6/7将以标准模式处理)
    或者HTTP包header

    X-UA-Compatible:IE=edge

    反对的理由

    1. 未来的IE9/9+能否真的正确兼容过去的版本?
    2. IE的体积会不会越来越大?比如1G?
    3. 浪费互联网流量资源。
    4. 如果实现多引擎间交互,比如主网页和内嵌iframe用不同版本的引擎时?
    5. 微软在鼓励大家用非标准代码开发网页?
    6. 期间的小版本如何处理?IE史上发生过补丁改变绘制的事情。
    7. 更多的安全漏洞?(绝大多数病毒都是通过IE网页漏洞传播的吧……)

    部分评论:
    是时候宣布浏览器间兼容性已经破产?
    我们总是为MS修复网页,而不是MS为网页修复IE。
    如果干掉IE,那么我们就没这么多问题了。

    综合:A List Apart2篇John Resig,Dean Edwards,Safari,Mozilla,456 Berea Street消息

    来自http://www.5iya.com/blog/post/ie-web-standards-sucks.asp