技术

从 Apple.com 下载电影高清预告片的方法

受瘾科技上对 Avatar介绍诱惑,兴冲冲的去 apple.com 下载,结果被挡在外面——霸道的苹果一定要求机器上安装了 QuickTime 才可以下载(准确的说是在线观看)

后来从 Google 和 Slashdot 上找到了解决方案:

  1. 首先把 Apple.com 上的地址稍微改变一下,在下划线后增加一个 'h',那才是真实的影片 URI
    例:浏览器上显示 avatar 480p 的地址是 http://movies.apple.com/movies/fox/avatar/avatar2009aug0820a-tsr_480p.mov
    这样下载地址就是 http://movies.apple.com/movies/fox/avatar/avatar2009aug0820a-tsr_h480p.mov
  2. 然后把下载软件的 UA 改成 'QuickTime/7.6.2' 进行下载就可以

其实 Apple 这样做我也可以理解,让小白们看片之前郁闷一下总比辛辛苦苦下了几十兆甚至上百兆后无法观看的体验要好;但这个判断 UA 的做法实在是有些不厚道啊不厚道。

Topic: 技术 生活

OpenSUSE Live ISO in USB

通常有二个原因我们需要从 USB 启动 Linux Live OS 进行安装:

  1. 没有刻录光驱,或者没有刻录盘,甚至是环保主义者决定少产生这种一次性的用品
  2. 目标安装机器上没有光驱,比如越来越流行的 netbook。我的情况类似——光驱坏掉了

liveusb-creator 和 unetbootin 就是把 Live ISO 转换成 Bootable USB 的软件,对 Fedora 以及 Ubuntu 都很好使,但搞不定 openSUSE.

主要原因在于 openSUSE 的启动脚本里如果检测到 CD-ROM 就自动跳过 USB-Storage 检测,而且在我的测试中,即使去执行 USB-Storage 检测,这个脚本好像也得不到正确的硬件。更为搞笑的是 openSUSE 自从 11.2 Milestone4 开始,支持所谓的 USB boot,可这个用 dd 命令制作出来的东东能不能启动且不谈,想要重新恢复出 Windows 下可识别的分区就要额外花费一番功夫。。。。我现在觉得 openSUSE 是三大桌面发行版里对小白最不友好的 Distro 了。

下面介绍将 openSUSE Live ISO 转换到 U 盘的步骤(我在 11.1 Reloaded ISO 和 11.2 M5 上测试通过):

  1. 以下操作都在 Linux 环境下,假设 U 盘设备为 /dev/sdb,只有一个 FAT/FAT32 分区(这是最常见情况)。首先确认一下 /dev/sdb1 是一个可启动的分区

    fdisk -l /dev/sdb

  2. 用 syslinux 安装引导程序

    syslinux /dev/sdb1

  3. 将 ISO 里的内容复制到 U 盘上,假设 U 盘被 mount 在 /media/SANDISK
    mount openSUSE-GNOME-LiveCD-Build0201-i686.iso /mnt -o loop
    cp -R /mnt/* /media/SANDISK

    cp -R /mnt/boot/i386/loader/* /media/SANDISK

  4. 创建一个工作目录,将 initrd 文件解开
    mkdir opensuse
    cd opensuse

    gzip -dc /mnt/boot/i386/loader/initrd | cpio -i

  5. 最核心的命令来了——修改启动脚本,让它直接去 /dev/sdb1 上找 Live OS

    sed -i -e "s/\$cddev;do/\"\/dev\/sdb1\";do/" include

  6. 生成新的 initrd 文件,取个名字叫 initrdud

    find . | cpio -o -H newc | gzip -9 > /media/SANDISK/boot/i386/loader/initrdud

  7. 如果是 openSUSE11.1,现在 /media/SANDISK 下有一个 isolinux.cfg,将其改名为 syslinux.cfg;11.2 不用这么做
  8. 最后修改 /mnt/SANDISK/syslinux.cfg,将 initrd 改成 initrdud。如果有必要,还可以顺便修改一下内核启动参数,比如 disable KMS 什么的
  9. umount /media/SANDISK,大功告成

参考自:http://vavai.net/2009/01/02/how-to-make-opensuse-111-liveusb/

Update: 从 11.2M6 开始,好像 openSUSE 又增强了对启动块设备的 MBR id 的校验。获得 /dev/sdb 的 MBR id 的命令为
echo `dd if=/dev/sdb bs=1 count=4 skip=$((0x1b8)) 2>/dev/null |hexdump -n4 -e '"0x%x"' `

覆盖 /mnt/SANDISK/boot/grub/mbrid 文件

Topic: 技术

Palm Pre webos SDK 可下载了..

现在偶有了 iphone、Android、Pre 的三个模拟器,一个实体手机也没有~~~ 继续坚定的用 E61i

从模拟器表现来看,Pre 还是很强的,至少比 Android 缺省的 UI 要好太多

另外 webos SDK 使用 VirtualBox 作为载体还是很让人耳目一新的,从安装来看,也让我感到 VirtualBox 强大的可定制性。考虑以后取代 VMWare Player.

最后,要玩这个模拟器,一些键盘操作必须会:http://www.dbalife.com/archives/266.html

Topic: 技术

FUSE for windows

关于 Linux 和 Windows 的 SSH 互操作,除了 Putty,WinSCP 外,现在又出现了一个 Dokan SSHFS,试用了下,觉得有相当的可用性,推荐使用。

使用方法很简单,去下载页面http://dokan-dev.net/en/download/

首先是安装 Dokan Library,也就是标题里说的 User mode file system library for windows

然后安装 Dokan SSHFS,启动后输入主机名,用户,密码。。。就可以在资源管理器里看到新盘符了

比较遗憾的是,对我们现在用的公钥不支持,可能是因为我们还停留在 ssh1 的缘故??

要能像 WinSCP 那样支持 Pageant 就好了...

Topic: 技术

Gears?

Firefox 的 beta 意味着 feature freeze;对于一个 externsion 开发者来说,从 beta1 开始,就应该跟进自己项目的兼容性,因为这个时候 API 已经稳定,可以放心利用新的特性来作开发了。

但这次 Firefox 从去年10月15日的 beta1 到今天正式发布,中间过去了整整7个半月,Google Gears 没有发布哪怕一个作测试的 3.5 兼容版本。这种行为让人很忧虑该项目是否进入一个“衰退通道”——缺乏公司支持,然后慢慢淡出公众视线。

Gears 是 Google 在桌面方向 的尝试之一,首先是希望增强 Web 应用的离线工作能力,然后调整目标为给主流的浏览器打HTML5的patch,但最后 Google 意识到目前 Web 应用的瓶颈是性能,于是 v8/chrome 横空出世,Gears 备受冷落。而除了 IE 外的主流浏览器最近的升级,Safari4,Firefox 3.5,Opera 10,看起来都在向 HTML5 迈进,Gears 这种统一浏览器功能的努力,到底还有多大实际意义,确实值得怀疑。

当然不论怎么样,Gears 会作为 Chrome 的一个组件存在下去,Google Wave 里演示的那种浏览器和桌面交互的能力,正是 Gears 的支持。另一方面对IE占据95%份额的中国开发者来说,Gears 是我们唯一可期盼的救赎。

现在看来 Gears 开发还算活跃,希望工程师对跨浏览器的热情能一直保持,阿门

Topic: 技术

2.4 内核下应用 nginx 的一个问题

现在还在使用 2.4 内核的服务器应该很少了吧....

总之,2.4 tmpfs 里的文件,是无法执行 mmap()-like 的操作滴;这就导致使用 nginx 的 sendfile 特性时,出现诡异的 EINVAL 错误, 2.6 内核则一切正常.

最开始是在出错的机器上查看 sendfile manpage,关于 EINVAL 的描述是 Descriptor is not valid or locked. 但显然不是这个原因..

直到从另外一个地方看到 manpage 描述是: Descriptor is not valid or locked, or an mmap(2)-like operation is not available for in_fd.

以及从网上搜索到很多人抱怨在 CIFS 文件系统下无法使用 apache2 sendfile 的时候才猛然意识到是因为我们把文件放在 tmpfs 里的问题。。。。

Topic: 技术

HP 2230s 的三维加速感应设备开发

(http://v.blog.sohu.com/u/vw/2802100)

这个设备,就是 HP 宣传的 HP 3D DriveGuard,搜狐 08 年以后采购的笔记本都应该包括该特性,希望这篇文章对同事们利用自己的硬件有帮助..

Linux kernel 从 2.6.28 才开始加入了这个驱动 "LIS3LV02Dx Accelerometer driver”,像我这样用 Fedora 11,或者 Ubuntu 9.04,就可以玩了

关于这个驱动的描述文档见: http://www.mjmwired.net/kernel/Documentation/hwmon/lis3lv02d ,很简单,不断从 /sys/devices/platform/lis3lv02d/position 这个文件里读数据就是了.

在偶的演示里面,切换桌面是用的 libwnck 的 python 封装。开发中才知道在开启立方体桌面特效的模式下(compiz??),只有一个 Workspace(所以才能把一个窗口跨桌面放,因为本质上是在一个workspace里面),立方体的各个面叫做 viewport。好在 wnck 对切换 workspace 以及 viewport 都有支持..

比较郁闷的一点是位置获得不稳定,经常出现检测到反向移动的乌龙,上面的视频已经表现了这一点,呵呵。

不知道有没有人利用这个特性给 HP 或 Thinkpad (APS主动保护) 开发 wii/iphone 那样的加速感应游戏,这么笨重的设备,体育项目估计也只有举杠铃了

Topic: 技术
订阅 RSS - 技术 | BT的花