Home | Syndication | Delicious | Douban | Twitter

Archive for May, 2008

AT&T Global Network Client on Ubuntu 8.04

May 19th, 2008

一直以来,阻碍我使用 Ubuntu 的一大原因就是无法拨入公司的内部办公网络,因为公司给出的拨入客户端只有 Windows 版。前些日子突然想到,既然我们用的是 AT&T VPN 服务,那何不去 AT&T 找找看有没有提供对 Linux 的支持。于是有了以下发现。

其实 AT&T 官方提供了支持 Linux 的客户端,可惜的是,只支持 RHEL 和 SuSE。但没关系,万能的 google 找到了一条变通之法 :-)

首先,从 AT&T 下载其最新 Linux 客户端,我载的是 agnclient-1.0-2.0.1.3000.i386.rpm。当然,这个 rpm 包无法直接用,也不可以直接用 alien 转化成 deb 包之后来安装,因为还有很多的依赖关系和配置需要解决。

接着,解决问题的人 André F. Macêdo 来了,从他的 BLOG 下载一个超有用的脚本 ubuntu_rpm2deb.sh

好了,可以开始工作了!

安装 tcl
$ sudo apt-get install tcl8.5

给脚本执行权限
$ chmod +x ubuntu_rpm2deb.sh

安装依赖关系
$ ./ubuntu_rpm2deb.sh --deps

转化包格式
$ ./ubuntu_rpm2deb.sh agnclient-1.0-2.0.1.3000.i386.rpm
这将生成我们的目标文件 agnclient_1.0~2.0.1.3000-1.1_i386.deb

安装新得到的 deb 包
$ sudo dpkg -i agnclient_1.0~2.0.1.3000-1.1_i386.deb

就这么多,现在可以启动 AT&T Global Network Client 了,如下图:

AT&T Global Network Client 

点击绿色的 CONNECT 按钮,在跳出的对话框中输入 Account / User Name / Password 即可开始连接。

Enjoy! 

“正确”地安装 iTunes

May 12th, 2008

有没有搞错,安装 iTunes 如此简单的软件还需要指南?Hmm… 如果你一贯是缺省型,的确不需要;如果你非常讨厌有人采取“买一送N”的策略在你机器上额外装上 N 个你根本不需要的组件、插件、工具、etc,就很有必要了。尤其是在水果于3月份利用 Apple Software Update 强行推送 Safari 这一事件之后,我们更有理由要当心安装了。

下载 iTunes 安装包之后,不要直接就开始安装,因为安装向导不给你任何定制安装的机会。而是用解压缩工具(比如 7-Zip)打开这个文件,你会发现 iTunesSetup.exe 包括:

  • iTunes.msi
  • QuickTime.msi
  • AppleSoftwareUpdate.msi
  • AppleMobileDeviceSupport.msi
  • Bonjour.msi
  • iTunesSetupAdmin.exe

如果你跟我一样,只是要拿 iTunes 当 podcast client 和 music player,那么就只需要安装 QuickTime.msi、iTunes.msi。其他的都不需要,比如 Bojour 是水果用来实现资源共享的一种机制,用的人应该是不多;Apple Software Update 看起来蛮有用的,其实也普通了,通常小更新并不关键,而大的改进下载新版即可,尤其是水果强推 Safari 事件后,我们更应当心此“后门”。

P.S. 再加强一下,如果你不需要使用 QuickTime player,就连 QuickTime.msi 都不必安装,完全可以用轻量级的 QT Lite 来代替。

P.S.2. 安装时要保持 iTunesSetupAdmin.exe 与 iTunes.msi 在同一目录中,否则安装过程会报错退出。

Getting Started with S2AP in 1 Minute

May 3rd, 2008

我承认,这篇 post 有标题党嫌疑… -_-

不过如果你觉得 SpringSource 官方用户指南有点儿长、没时间但又想快速玩玩 S2AP,俺这篇“一分钟快速起步指南”就有点儿用了。

安装

解开下载的 S2AP 1.0.0 beta 包即可。
$ unzip springsource-ap-1.0.0.beta.zip

设定环境变量

$ export PLATFORM_HOME=/opt/springsource-ap-1.0.0.beta

个人觉得这个变量名不好,太 general 了,最好能改为类似 $S2AP_PLATFORM_HOME 或者 $SPRING_PLATFORM_HOME 这样的名字。

启动

常规启动:
$ bin/startup.sh

调试模式启动:
$ bin/startup.sh -debug
将会运行一个 debug agent,默认监听 8000 端口。可以在 -debug 参数后面跟一个数字参数来修改监听端口,比如:
$ bin/startup.sh -debug 8001

允许 JMX 访问模式启动:
$ bin/startup.sh -jmxremote
将允许本地 JMX 访问。如果需要远程 JMX 访问,在 -jmxremote 后跟一个端口参数即可,比如:
$ bin/startup.sh -jmxremote 9009

启动成功后,可以尝试访问其管理页面 http://localhost:8080/admin 缺省的用户名和密码是 admin/springsource

停止

$ bin/shutdown.sh

Now start exploring, have fun!

Spring + OSGi + Container = ?

May 2nd, 2008

今年年初,SpringSource 收购了 Covalent,然后 Rod Johnson 又公开说 (from Javalobby)

we're basically seeing the decline of the traditional Java EE server.

而技术社区近来总有关于 OSGi 和 container 等方面的话题,加以关联,貌似 SpringSource 想借 Spring Framework 成功之东风进入 container 领域、而且打算利用 OSGi 来构建。

于是,在四月结束的时候,标题等式中的问号有了答案:SpringSource Application Platform,可以简写为 S2AP。从名字上看,很容易联想到 Eclipse RCP,不同的是,RCP 专注 client 端,而 S2AP 专注 server 端。接受访问时,Rod Johnson 在解释为什么使用 platform 这个词、而不是 server 这个看起来更常规的词来命名时,说:

We didn't want to call it a server because it will be able to be extended and accept different deployment modules, so it will be broader in scope than a typical server.

看来蛮有野心和决心的。

SpringSource Application Platform 

刚刚发布是的是 1.0.0 beta,基于 GPL v3。

简单地试用了一下,S2AP 有三点让我印象深刻:

1,S2AP 支持三种应用部署方式:热部署(Hot Deploy)、控制台部署(Admin Console)、编程部署(Programmatic)。其中的热部署方式很好,直接将 WAR 包丢入 pickup 目录或者从 pickup 中删除就可以完成部署或移除应用。需要说明的是,S2AP 目前还不支持混合方式,即,部署和移除的方式要一致。

2,S2AP 不仅自身是构建在 OSGi 之上,而且它还允许开发者将自己开发的 OSGi bundle 部署到其中,这一点很难得,对于推动 OSGi 在 server 端应用很有好处。目前的主流应用服务器在向 OSGi 靠拢时还只是将自身构建于 OSGi 之上,尚不允许开发者部署自己的 OSGi bundle。

3,SpringSource 提供了一个在线的 bundle repository,这似乎是一个“技术含量”不那么高的举措,但是非常有意义。我在做 TPTP 开发时就发现,不同的 projects 经常对同一个第三方 library 进行封装,这完全没有必要嘛。目前 SpringSource Bundle Repository 包含的内容还少,以 Apache 旗下组件为主,相信会慢慢丰富起来的。