在不能直面处直面,于不可承受中承受。越是命悬一线,越不轻言放弃。越是绝地生还,越拥有生命尊严。余震不断的大地,请停止再一次晃动,让那些死难的灵魂以安息,给等待救援的人以时间。那些担负救援任务的人们,请与死神争夺生命,与时间拼抢意念,比提前一秒更提前抵达,以百倍努力更加倍努力。那些掩埋于废墟之下的每一个微弱的呼吸与心跳,请你们一定要挺住,一定要坚信,一定要得救。我们希望在经过七十二小时之后,生命依然拥有迹象,拥抱依然拥有温暖,泪水依然拥有方向。
...
ubuntu
(2232 unread)
All things about ubuntu.
在不能直面处直面,于不可承受中承受。越是命悬一线,越不轻言放弃。越是绝地生还,越拥有生命尊严。余震不断的大地,请停止再一次晃动,让那些死难的灵魂以安息,给等待救援的人以时间。那些担负救援任务的人们,请与死神争夺生命,与时间拼抢意念,比提前一秒更提前抵达,以百倍努力更加倍努力。那些掩埋于废墟之下的每一个微弱的呼吸与心跳,请你们一定要挺住,一定要坚信,一定要得救。我们希望在经过七十二小时之后,生命依然拥有迹象,拥抱依然拥有温暖,泪水依然拥有方向。
...
最近在我们这里在进行办公网规范化管理,其中一个方案就是用ftp的方式来代理邮件分发文件的方式,上传数据采用ftp方式,而实际的分发下载直接通过Apache的目录索引来下载,这其中有一些比较特殊的文件,需要使用密码来保护,因为用户众多,这个密码需要给用户自己修改,所以就采用了mod_auth_mysql+mysql来实现目录的相关认证(之所有没有用auth_bdb,因为Ubuntu的auth_bdb模块默认没有携带mysql驱动)。下面是安装和配置方法...
最近在我们这里在进行办公网规范化管理,其中一个方案就是用ftp的方式来代理邮件分发文件的方式,上传数据采用ftp方式,而实际的分发下载直接通过Apache的目录索引来下载,这其中有一些比较特殊的文件,需要使用密码来保护,因为用户众多,这个密码需要给用户自己修改,所以就采用了mod_auth_mysql+mysql来实现目录的相关认证(之所有没有用auth_bdb,因为Ubuntu的auth_bdb模块默认没有携带mysql驱动)。下面是安装和配置方法:
1、先安装mod_auth_mysql模块:
[bash] sudo apt-get install libapache2-mod-auth-mysql
2、启用mod_auth_mysql模块:
[bash] cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/auth_mysql.load
3、假设您有个/sec目录需要特殊权限控制,在Apache配置文件或者.htaccess中:
[bash]
#Auth_MySQL_Info 需要连接的Mysql服务器IP 用户名 密码
Auth_MySQL_Info localhost apache apache_2008
#如果所有的目录认证使用同一数据库:
Auth_MySQL_General_DB htpasswd
<Directory /sec>
Options Indexes FollowSymLinks MultiViews
AuthType Basic
#注意下面两行事关闭缺省的Basic认证,不然会报打开认证文件错:pcfg_openfile() called with NULL filename
AuthUserFile /dev/null
AuthBasicAuthoritative off
AuthName "Security Area"
AuthMYSQL on
AuthMySQL_Authoritative on
AuthMySQL_Password_Table user_info
AuthMySQL_Group_Table user_info
AuthMySQL_Empty_Passwords off
#这里使用了明文的密码方式,如果要使用MySQL password()的方式,请用AuthMySQL_Encryption_Types Plaintext
#不过在Ubuntu中的libapache2-mod-auth-mysql不是采用Plaintext方式,
#apache会直接stack smashing,详细的情况可以看:https://bugs.launchpad.net/ubuntu/+source/libapache-mod-auth-mysql/+bug/150649
AuthMySQL_Encryption_Types Plaintext
AuthType Basic
#允许组为sec的用户访问
require group sec
</Directory>
4、创建用于认证的用户表
[sql]
create table user_info(
username VARCHAR(20),
passwd VARCHAR(50),
groups VARCHAR(20),
primary key (username)
)ENGINE=MyISAM;
insert into user_info values('u1','pass','sec');
然后,您就可以直接维护这个表来管理用户了
详细的mod_auth_mysql的使用文档,请看这里
最近在Eclipse邮件列表讨论的火热的E4计划,大家不知道是否注意到?不清楚的朋友可以看这里的报道。这个咱不多说,作为一个Flexer我们关注另外一个东西:SWT Flex,这个的很显见,就是可以将SWT直接编译成FLEX SWF,也就是说以后基于SWT开发的eclipse RIA应用,可以直接将前台发布为Flash,当E4正式出炉的时候,这绝对会掀起一个巨大的波澜...
最近在Eclipse邮件列表讨论的火热的E4计划,大家不知道是否注意到?不清楚的朋友可以看这里的报道。今天看到Eclipse 放出来的一个DEMO,实在是够震撼的,估计下面这个将Eclipse WEB化是截图,已经够您消化一下了:

这个咱不多说,作为一个Flexer我们关注另外一个东西:SWT Flex,这个的很显见,就是可以将SWT直接编译成FLEX SWF,也就是说以后基于SWT开发的eclipse RIA应用,可以直接将前台发布为Flash,当E4正式出炉的时候,这绝对会掀起一个巨大的波澜!就等着看热闹了!
下面是一个典型的SWT HelloWord:
[java]
package org.eclipse.swt.e4.examples.helloworld;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.FillLayout;
public class SWTHelloWorld {
public SWTHelloWorld() {
// TODO - Initialize the Java runtime by referencing the System class.
// Note that line cannot be remove.
System.out.println("Start");
final Display display = new Display(new DeviceData());
Shell shell = new Shell(display);
shell.setText("SWT Shell");
shell.setLayout(new FillLayout());
Label label = new Label(shell, SWT.NONE);
label.setText("Hello World");
shell.open();
shell.addListener(SWT.Dispose, new Listener() {
public void handleEvent(Event event) {
display.dispose();
}
});
}
public static void main(String[] args) {
new SWTHelloWorld();
Display display = Display.getCurrent();
while (!display.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
}
}
其编译成FLEX输出后的SWF大家可以看这里
官方的Demo里面还有其他的一些示例,其中SWT组件与Flex控件直接的对应Demo也许您比较感兴趣。
另外,还有一个E4还支持将swt编译为dojo,这样您只需要使用SWT来编写您的应用,然后就可以作为一般的Java应用,又可以发布为RIA的flash应用,又可以发布为传统的Ajax的html应用,真TNND太强大了!别的解决方案还干什么吃呢?!不得不承认,这是一个非常吸引人的解决方案,相信真的发布的时候会有很多人转过去的,难道eclipse准备一统天下了?
最近Ubuntu 8.04修改了系统字体配置文件的构成,将原来的/etc/fonts/language-selector.conf分解成了四个文件,分别对应到/etc/fonts/conf.d/下的29-language-selector-zh.conf、69-language-selector-zh-cn.conf、99-language-selector-zh.conf和CJK_aliases,而我们经常修改的sans字体渲染顺序在69-language-selector-zh-cn.conf文件中...
最近Ubuntu 8.04修改了系统字体配置文件的构成,将原来的/etc/fonts/language-selector.conf分解成了四个文件,分别对应到/etc/fonts/conf.d/下的29-language-selector-zh.conf、69-language-selector-zh-cn.conf、99-language-selector-zh.conf和CJK_aliases,而我们经常修改的sans字体渲染顺序在69-language-selector-zh-cn.conf文件中,所以如果您发现系统字体显示不对,可以直接调整69-language-selector-zh-cn.conf,按照您喜欢的字体顺序调整好后,重启X后,系统的字体应该就恢复了。
但是这时候可能您的Flash里面的中文还是乱码或者和系统的字体不一致,这个的解决方法很简单,将/etc/fonts/conf.d/49-sansserif.conf删除即可,这个文件为在所有非sans-serif、serif字体中附加sans-serif,删除它后就Flash里面的字体配置就和外部系统的字体一致了。另外如果这样修改后还有乱码的话,试试调整下69-language-selector-zh-cn.conf里面的中文字体顺序。

今天看《世界历史》,今天说的是巴黎红色革命,片尾放的是国际歌,不小心就拨动了多年前的记忆,一下子抑制不住把唐朝的歌给全找出来疯狂的听了,我是从《国际歌》开始认识唐朝,从《梦回唐朝》开始痴迷上他们的,从《飞翔鸟》开始进入摇滚的《天堂》的...

今天看《世界历史》,今天说的是巴黎红色革命,片尾放的是国际歌,不小心就拨动了多年前的记忆,一下子抑制不住把唐朝的歌给全找出来疯狂的听了,我是从《国际歌》开始认识唐朝,从《梦回唐朝》开始痴迷上他们的,从《飞翔鸟》开始进入摇滚的《天堂》的,在《送别》中告别我的学生生涯, 今天一晚上听下来,至今还久久不能平静,相信很多朋友和我一样,提起唐朝,应该都有很多美好的回忆吧?!不过大家有听过唐朝唱的《明月千里寄相思》不?
也许这个夜晚,这个唐朝即将要出新专辑的时候,让我们在《月梦》里唱起《明月千里寄相思》。
夜色茫茫 罩四周天边新月如钩 回忆往事恍如梦 重寻梦境何处求 人隔千里路悠悠 未曾遥问星已稀 请明月带问候 思念的人儿泪常流 夜色朦朦 夜未尽周遭寂寞宁静 桌上寒灯光不明 伴我寂寞苦孤零 人隔千里无音讯 却待遥问终无凭 请明月代传信 寄我片纸儿慰离情 人隔千里路悠悠 未曾遥问星已稀 请明月带问候 思念的人儿泪常流
“再没有比工资更重要的问题了”,
“因为这个国家的大多数人都是靠工资生活的,他们生活水平的提高决定着这个国家的繁荣”。
“工资担负着工人在车间之外的全部负担,以及年老后他不能劳动时的生活。同时他也是一个有家庭的人,他也许是孩子们的父亲,他必须凭他挣的钱把孩子们培养成才。我们必须考虑到所有这些事实,让孩子们有衣可穿、有房可住,让他们受到教育,给他们生活的各种小享受”
可能很多人想象不到这些话会出自近百年前、老牌“民营企业家”美国福特汽车公司创始人福特先生之口。福特先生这些话现在读来仍然让人对他肃然起敬并富有意义!
摘录自三一重工总裁向文波先生的妙文:《没有比工资更重要的问题了》,一个有责任心的企业家的对国内的那些无良的企业家及为他们代言的无耻官员的最响亮耳光!推荐大家都拜读下。
mx.controls.Label组件有一个很有用的特性,那就是如果其要显示的文本长度大于组件的宽度时候,会自动截断文本,并在文本后面添加上...表示文本还有未显示部分,而且还会显示一个包括完整文本内容的ToolTip,所以将Label设置为DataGrid的Renderer,可将该特性用于在DataGrid里面截断过宽的Header文本或用于截断显示不下的单元格内容...
mx.controls.Label组件有一个很有用的特性,那就是如果其要显示的文本长度大于组件的宽度时候,会自动截断文本,并在文本后面添加上...表示文本还有未显示部分,而且还会显示一个包括完整文本内容的ToolTip,所以将Label设置为DataGrid的Renderer,可将该特性用于在DataGrid里面截断过宽的Header文本或用于截断显示不下的单元格内容,而当用户鼠标移到列上的时候不需要调整列宽,又可以通过Tooltip查看到单元格实际内容,是不是很方便啊?!
以下是个示例代码:
[xml]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:XML id="xmlDP">
<nodes col1="root">
<node col1="mx.controls.Label:用于显示文本" col2="Label 组件" />
<node col1="mx.core.Application:mx应用核心" col2="核心组件" />
<node col1="测试" col2="测试" />
</nodes>
</mx:XML>
<mx:DataGrid id="dataGrid"
dataProvider="{xmlDP.node}"
width="250"
height="200">
<mx:columns>
<mx:DataGridColumn dataField="@col1"
headerText="Flex组件名称"
itemRenderer="mx.controls.Label"
headerRenderer="mx.controls.Label"/>
<mx:DataGridColumn dataField="@col2"
headerText="Flex组件详细说明,包括用法等"
itemRenderer="mx.controls.Label"
headerRenderer="mx.controls.Label" />
</mx:columns>
</mx:DataGrid>
</mx:Application>
刚刚在FlexCoder看到的消息,Flex SDK项目组正在想办法提高Flex4中的文本性能,所以他们想更多的了解我们是在Flex应用中是如何使用文本的,如果您不介意您的项目被分析的话,请帮助Flex项目组收集以下统计信息,具体步骤如下...
刚刚在FlexCoder看到的消息,Flex SDK项目组正在想办法提高Flex4中的文本性能,所以他们想更多的了解我们在Flex应用中是如何使用文本的,如果您不介意您的项目被分析的话,请帮助Flex项目组收集以下统计信息,具体步骤如下:
我相信更多的参与将会对Flex 4的文本处理性能的提高有极大的帮助,所以条件允许的话,请大家都参与下。
让我们一起期待Flex 4的盛装登场。
Flex3发布了,因为FlexBuilder for Linux并没有正式发布,对于我们这些在Linux平台下工作的人来说,就只有下载Flex 3 SDK了,有SDK其他也就没什么了,现在的FlexBuilder for Linux alpha 2还是用得挺顺手的,可是官方提供的SDK是不包括Data Visualization components的,这就是说Flex 3中的AdvancedDataGrid和图表相关的东西使用官方的Flex 3 SDK是不能使用的,不过还好FlexBuilder 3 Profession里面包含的SDK是完整的,里面有Data Visualization components,所以我们可以直接使用FlexBuilder 3 Profession中的SDK就可以了。当然也可以直接通过以下方法将Data Visualization component相关的文件拷贝到官方提供的SDK里面来增加Data Visualization component的支持...
Flex3发布了,因为FlexBuilder for Linux并没有正式发布,对于我们这些在Linux平台下工作的人来说,就只有下载Flex 3 SDK了,有SDK其他也就没什么了,现在的FlexBuilder for Linux alpha 2还是用得挺顺手的,可是官方提供的SDK是不包括Data Visualization components的,这就是说Flex 3中的AdvancedDataGrid和图表相关的东西使用官方的Flex 3 SDK是不能使用的,不过还好FlexBuilder 3 Profession里面包含的SDK是完整的,里面有Data Visualization components,所以我们可以直接使用FlexBuilder 3 Profession中的SDK就可以了。当然也可以直接通过以下方法将Data Visualization component相关的文件拷贝到官方提供的SDK里面来增加Data Visualization component的支持:
将FlexBuilder 3 Profession里面包含的SDK直接复制到官方SDK的对应目录就可以了:
大家要懒得为了这么几个文件,去下载400多M的FlexBuilder 3文件,大家可以直接点这里下载我从FlexBuilder 3 中剥离出来的文件。下载后直接解压到Flex 3 SDK安装目录即可,例如:
[bash] tar xzf flex3_dataVisualzationC.tar.gz -C /path/to/sdk3
另外,如果那个朋友使用compc编译lib的时候出现如下错误:
[bash] Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb5364767] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb53648b1] #2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb53b929d] #3 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0xb54bb8ce] #4 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0xb5498067] #5 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0xb5498318] #6 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xb549861f] #7 [0xb5cf2e9d] #8 [0xb5cebedd] #9 [0xb5cebedd] #10 [0xb5ce9249] #11 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/client/libjvm.so [0x621c40d] #12 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/client/libjvm.so [0x6310378] #13 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/client/libjvm.so [0x621c2a0] #14 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/client/libjvm.so(JVM_DoPrivileged+0x363) [0x6272153] #15 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7d0496d] #16 [0xb5cf2e9d] #17 [0xb5cebd77] #18 [0xb5ce9249] #19 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/client/libjvm.so [0x621c40d] java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
这是JRE的libxcb的link的一个Bug,大家可如下解决:
[bash] sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun/jre/lib/i386/xawt/libmawt.so
昨天激动人心的Flex 3终于发布了,因为Flex3的编译多了很多选项,其附带的Flex Ant Task也进行了更新,我们原来的Flex Ant Task增强版在Flex3上不能工作了,所以今天迁移代码的时候顺便把原来的增强版也做了相应的升级...
昨天激动人心的Flex 3终于发布了,因为Flex3的编译多了很多选项,其附带的Flex Ant Task也进行了更新,我们原来的Flex Ant Task增强版在Flex3上不能工作了,所以今天迁移代码的时候顺便把原来的增强版也做了相应的升级。
这个版本相对官方的版本就是在Mxmlc和Compc任务上增强了<token/>的支持,使用方法如下:
到这里下载Flex Ant Task增强版 For Flex3,下载后解压里面的flexTasks_feiy.jar到您的项目根目录,在Ant build.xml里面,如下定义taskDef:
[xml]
<taskdef resource="flexTasks.tasks" classpath="${basedir}/flexTasks_feiy.jar" />
然后在Mxmlc和Compc里面如下增强token:
[xml]
<token name="basedir" value="${basedir}"/>
另外Flex3编译需要更多的内存,所以如果使用Ant编译的时候,可能会出现如下错误:
[bash]
[exec] [mxmlc] Loading configuration file /home/feiy/workspace/Pumila_V2/flex-config-3.0.xml
[exec] [mxmlc] Error: Java heap space
[exec] [mxmlc]
[exec] [mxmlc] java.lang.OutOfMemoryError: Java heap space
这是因为mxmlc任务使用的内存操作的Ant缺省允许的最大值,可以使用先通过如下方法加大Ant最大使用内存:
[bash] export ANT_OPTS=-Xmx500M
然后再执行就可以了。
更详细的使用帮助,请查看这里