1000E 升级到 2G 内存时安装 OSX 需要用到的 dsdt.aml

上周去把 EPC 的内存升级到了 2G,直接发现开机进不了 OSX 了。

在两天没有电脑用之后,下定决心重装系统。重装之后,能进系统,但是重新启动之后键盘和触摸板就不能用了,电池状态指示挂了,郁闷。

在网上找了找,发现可能是 dsdt 的问题。由于内存大小变了,dsdt 中的信息不正确,继而导致 ACPI 失效,然后就整个玩完了。

一个老外找到了解决方法,通过修改 dsdt.aml 文件中的内存大小信息,就可以正确进入系统了。直接下载他提供的压缩包中的 dsdt.aml,开机直接四国了……

好吧,这个老外蛮厚道的,给出了手动处理的方法:

For the 1GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x3F7AE064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{

For the 2GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x7F7AE064, 



阅读全文 »

Coda 前端开发插件 F2E Tools

在 EeePC 上装了个 Mac OS X,相应的开发工具也选择了 Coda。在 Windows 下,EditPlus 可以通过添加自定义 工具的方式来给 EditPlus 的添加前端工具,但是在 Coda 上,就没有这么方便的自定义方式了。之前师兄清羽用 Python 实现 了 Coda 的 YUI Compressor 和 JS Lint 两个插件,后来在群里讨论要不要把 JS Beautify 也集成。

想 法有了,上周末回家就开写,Coda 的插件有两种形式的,一种是用脚本来写,另外一种是用 Cocoa 来写。使用脚本很简单,Python、 Ruby 等等都可以,只要系统上有解释器。相对而言还是 Python 熟一点,就选用 Python 来编写这几个插件了。

图片附件

下载:
http://dl.getdropbox.com/u/1451589/Blog/CodaF2ETools.zip

for Coda 2
F2E Tools for Code

阅读全文 »

HTML5 Canvas 起步(3) – 颜色与渐变

上一篇介绍了 HTML5 中 Canvas 的路径,这篇将要介绍一下 Canvas 中的颜色及渐变。

Canvas 中的基本颜色系统

在 Canvas 中,颜色主要用途就是在绘制路径时,用来指定填充颜色和边框颜色。

Canvas 中的颜色参数值有两种格式:

1. 如果透明度为 1.0,也就是不透明,颜色值的格式就与一般使用一样,为:#AABBCC,其中 AA、BB、CC 分别为 Red、Green、Blue 分量。

2. 如果透明度不为 1.0,也就是带透明,颜色值格式可以使用 rgba(r, g, b, a),其中 r、g、b、a 分别为 Red、Green、Blue 分量和透明度。透明度的值为 0 至 1.0 之间的一个数值。

3. 颜色值还可以为已知的颜色名称,例如 red、blue、green 等。

总的说来,Canvas 中颜色值的格式与 CSS 中一致,因此颜色值没有特别需要注意的地方。

图片附件

<canvas id="canvas" width="600" height="500"></canvas> <script 


阅读全文 »

HTML5 Canvas 起步(2) – 路径

上一篇介绍了 HTML5 中 Canvas 的基本概念,这篇将要介绍一下 Canvas 中的基本图形。

图形的基础 - 路径

在 Canvas 中,所有基本图形都是以路径为基础的,也就是说,我们在调用 2dContext 的 lineTo、rect 等方法时,其实就是往已经的 context 路径集合中再添加一些路径点,在最后使用 fill 或 stroke 方法进行绘制时,都是依据这些路径点来进行填充或画线。

在每次开始绘制路径前,都应该使用 context.beginPath() 方法来告诉 Context 对象开始绘制一个新的路径,否则接下来绘制的路径会与之前绘制的路径叠加,在填充或画边框时就会出现问题。在绘制完成路径后,可以直接使用 context.closePath() 方法来关闭路径,或者手动关闭路径。另外,如果在填充时路径没有关闭,那么 Context 会自动调用 closePath 方法将路径关闭。

基本路径方法

1. beginPath, closePath

这两个方法在前面已经介绍过,分别用来通知 Context 开始一个新的路径和关闭当前的路径。

在 Canvas 中使用路径时,应该要保持一个良好的习惯,每次开始绘制路径前都要调用一次 beginPath 方法,否则画出来的效果难看不说,还会严重影响性能。

在下面这张图中,左边的图形在每次绘制矩形前都调用了一次 beginPath 来清除之前的路径并重新开始绘制新的路径,而后面的图形则就只在绘制所有图形前调用了一次 …

阅读全文 »

Bespin 0.2.1 “Cheeky Cirrus” Released

Mozilla Labs 昨天发布了 Bespin 0.2.1 "Cheeky Cirrus"。就在前天的时候,Mozilla Labs 发布了 Bespin 0.2.0 "Sassy Cirrus",不得不说开源项目的更新速度是相当快,现在 Bespin 项目的开发成员好像越来越多,估计要进入快速发展期了,非常期待 Bespin 的优异表现。

昨天发布的 Bespin 0.2.1 "Cheeky Cirrus" 中更新了以下内容:

1. Jetpack 支持:按文档来看,应该是用于扩展程序功能的,可以在以后 Bespin 支持插件时,给插件提供调试、永久存储以及用户界面上面的支持。

2. 增加了 "hg init" 命令来给将一个项目初始化为一个 Mercurial 版本库。

3. 增加了 "vcs status" 查看当前工作副本的状态。

4. 增加了对子命令自动完成的支持。

Bespin 从 0.2.0 Sassy Cirrus" 开始就开始支持 Mercurial 了,这也就意味着,可以使用 …

阅读全文 »

HTML5 Canvas 起步(1) – 基本概念

什么是Canvas

<canvas> 是一个新的 HTML 元素,这个元素在 HTML5 中被定义。这个元素通常可以被用来在 HTML 页面中通过 JavaScript 进行绘制图形、合成图像等等操作,也可以用来做一些动画。当然,目前 HTML5 规范还在草稿阶段,正式发布也许要等到2010年,不过现在已经有不少浏览器已经支持了部分 HTML5 规范。目前支持 canvas 元素的浏览器有 Firefox 3+、Safari 4、Chrome 2.0+ 等,因此,在运行本页中的例子时,请确保你使用的是上述浏览器之一。

尽管在 Mozilla 已经有不少关于 Canvas 的教程,我还是决定把自己的学习过程记录下来。如果觉得我写的不够明白,那么你可以在参考资料中找到 Mozilla 网站上 Canvas 教程的链接。

另外,可以在这里找到一些有趣的 Canvas 示例。

开始使用 Canvas

使用 Canvas 很简单,与使用其他 HTML 元素一样,只需要在页面中添加一个 <canvas> 标签即可:

<canvas id="screen" width="400" height="400"></canvas>

当然,这样只是简单的创建了一个 …

阅读全文 »

“云端的编辑器”,10 步安装 Bespin Development Server(Python版)

Mozilla Labs 在今年情人节那天发布了一个叫 Bespin 的编辑器,这是一个基于网络的可扩展文本编辑器,按照现在流行的说法,就是“云编辑”了。并且,这个编辑器是开源的。

图片附件

Bespin 是基于 Canvas 的,因此目前它只支持少数浏览器,其中包括 Firefox 3+、Safari 4 以及 Chrome 2 开发版,因此,如果要使用 Bespin 的话,你必须使用这几款浏览器中的一种。

要体验 Bespin,可以直接在 bespin.mozilla.com 注册一个帐号并且登录,不过目前 bespin.mozilla.com 所用的代码并不是最新版本的,线上使用的代码有许多不完善之处。因此,除了使用 Mozilla Labs 官方的 Bespin 站点,我们也可以从 Mozilla Labs 下载 Bespin 源代码,并在本地搭建 Bespin 服务,从而可以体验 Mozilla Labs 最新的开发成果。

注意,这篇文章并不介绍怎么去使用 Bespin,而是介绍怎么样去配置一个可以在本地运行的 Bespin 服务器,因此,如果你需要了解怎么去使用这个编辑器,可以参阅 Mozilla Labs 上的文档,或者等我再写一篇使用 Bespin …

阅读全文 »

YUI学习笔记(4)

YUI学习笔记(4)

by xujiwei (http://www.xujiwei.com/)

YAHOO.util.Subscriber 与 YAHOO.util.CustomEvent。

1. YAHOO.util.Subscriber (event.js)

这 应该算是设计模式中的观察者模式了,Subscriber 订阅一个事件,在 Publisher 触发那个事件后,会逐个通知 Subscriber。

对 于一般开发者来说,并不需要去关心 Subscriber 的实现,因为 Subscriber 主要是 CustomEvent 用来分发动作以及删 除 Subscriber 的。

Subscriber 类只定义了 3 个属性:fn、obj 以及 override,3 个方 法:getScope、contains、toString,其中 fn 为订阅者的回调函数,obj 为要传递给回调函数的一个额外参 数,override 如果是布尔型的 true 值,那么表示使用 obj 属性为回调函数执行时的上下文,或者直接使用一个对象来作为回调函数执行的 上下文。

Subscriber 的 3 …

阅读全文 »

YUI学习笔记(3)

YUI学习笔记(3)

by xujiwei (http://www.xujiwei.com/)

YAHOO.lang.later,YAHOO.lang.trim,YAHOO.lang.isXXX 以及 YAHOO.lang.hasOwnProperty。

1. YAHOO.lang.later(yahoo/yahoo.js)

later 方法用来延迟执行方法,是对 setInterval 和 setTimeout 的封装,并且可以传递参数到延迟执行的函数或者使用参数数组批量执行指定的函数。

later 方法的签名为:

later: function(when, o, fn, data, periodic)

when 是用来指定在多长时间后执行指定的函数,以毫秒计算;

o 是上下文对象,即在要执行的函数里使用 this 是会引用这个 o 对象;

fn 就是要延迟执行的函数了,可以传递一个函数引用,也可以传递一个字符串,later 方法会在 o 对象中查找对应名称的属性来做为要执行的方法;

data 就是传递给延迟执行的函数的参数了,可以为一个参数,或者是一个参数数组,那么如果我们要传递的参数本身就是一个数组的话,就要自己先把这个参数数组包装成一个数组;

peridoic 参数是一个布尔值,用来表示延迟执行的函数是否需要周期执行而不是只执行一次。

later 方法执行后会返回一个对象,包含了一个名 interval 的属性用来表示函数是以 setInterval 来执行的还是以 setTimeout 来执行的,以及一个方法 



阅读全文 »

YUI学习笔记(2)

YUI学习笔记(2)

by xujiwei (http://www.xujiwei.com/)

YAHOO.lang.dump 与 YAHOO.lang.substitute。

1. YAHOO.lang.dump(yahoo.js)

dump 方法用来将一个对象转储为一个字符串,并且可以指定转储的深度。

在 dump 过程中,对于基础类型例如 Number、String、Boolean,是直接返回字符串的,对 HTMLElement 对象是返回 HTMLElement 本身,也就是不做处理,对于函数 Function 则是返回字符串“f(){...}”。

对于数组,dump 返回的格式就如我们定义时一样“[item1, item2 item3, ...]”,对于对象 Object,则是使用键值对的形式“key => value”,与 PHP 里面的数组定义方式相似。

例如一个对象定义如下:

var obj = {
num: 1,
str: "string",
bool: true,
date: new Date(),
obj: {
obj_num: 


阅读全文 »