Tuesday, May 10, 2011

export and import ddl from mysql

export ddl for mysql database

mysqldbexport --server=username:passassword@hostname_or_ip --skip=GRANTS --export=DEFINITIONS schema_name > foo.sql


mysqldbimport --server=username:password@hostname_or_ip --skip=GRANTS --import=DEFINITIONS foo.sql

Sunday, May 08, 2011

无题

It has been a long time since the last post. All because of the great fire wall.
Recent tasks and plans.
First of all, is my website. Now. teches for beta1.0 is ready. Only the search bundle is required now.
After that, the personal affair is really bothering me. How nice would it be if I meet the perfect girl.
Of the financial aspect, Things are going on well.
I hate waiting for nothing.
是为记

Tuesday, September 14, 2010

yum error solution

if you encounter this error when using yum, try yum clean all, and then
rerun the job. It will be OK.

Downloading Packages:
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 258, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 196, in main
return_code = base.doTransaction()
File "/usr/share/yum-cli/cli.py", line 456, in doTransaction
problems = self.downloadPkgs(downloadpkgs,
callback_total=self.download_callback_total_cb)
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1756, in
downloadPkgs
self.plugins.run('predownload', pkglist=pkglist)
File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 183, in run
func(conduitcls(self, self.base, conf, **kwargs))
File "/usr/lib/yum-plugins/axelget.py", line 280, in predownload_hook
downloaded_drpm_pkgs = download_drpm(conduit)
File "/usr/lib/yum-plugins/axelget.py", line 66, in download_drpm
presto_info[repo.id] = presto.PrestoParser(filename).getDeltas()
File "/usr/lib/yum-plugins/presto.py", line 509, in __init__
for event, elem in iterparse(fo):
File "<string>", line 61, in __iter__
File "/usr/lib64/python2.6/gzip.py", line 219, in read
self._read(readsize)
File "/usr/lib64/python2.6/gzip.py", line 271, in _read
uncompress = self.decompress.decompress(buf)
zlib.error: Error -3 while decompressing: invalid distance too far back

Monday, September 13, 2010

mysql security related sqls

show all users in mysql
select host, user, password from mysql.user;

grant all privilege to root from localhost
grant all on * to 'root'@'localhost';

grant all privilege to user_a from all hosts
grand all on * to 'user_a'@'%';

Tuesday, July 06, 2010

techspot IBM cares

Agile Development, Test Automation, Early Defect Removal Techniques, Secure Engineering, Cloud Computing and Engineering Practices & Tools & Techniques 

study note cakePHP

ACL access control list
ARO access request object
ACO access control object
use groups and roles to grant privilege to user.


var $components = array('Cookie');
function beforeFilter() {
$this->Cookie->name = 'baker_id';
$this->Cookie->time = 3600; // or '1 hour'
$this->Cookie->path = '/bakers/preferences/';
$this->Cookie->domain = 'example.com';
$this->Cookie->secure = true; //i.e. only sent if using secure HTTPS
$this->Cookie->key = 'qSI232qs*&sXOw!';
}

apache的bin目录下,有个名为ab的文件,我们通常称它为ab测试。它能够模拟http请求,并post参数之类。并能创建多线程。

Wednesday, June 30, 2010

study notes db2

Error information is returned in the SQLCODE and SQLSTATE fields of the SQLCA structure, which is updated after every executable SQL statement and most database manager API calls.

An SQLCODE value of 0 means successful execution (with possible SQLWARN warning conditions). A positive value means that the statement was successfully executed but with a warning, as with truncation of a host variable. A negative value means that an error condition occurred.

An additional field, SQLSTATE, contains a standardized error code consistent across other IBM(R) database products and across SQL92-conformant database managers. Practically speaking, you should use SQLSTATE values when you are concerned about portability since SQLSTATE values are common across many database managers.

Tuesday, June 29, 2010

study note db2


ISOLATION LEVEL RR, RS, CS, or UR
Specifies how far to isolate the routine from the effects of other running applications. For information about isolation levels, see DB2 Performance Monitoring and Tuning Guide.
RR
Specifies repeatable read.
RS
Specifies read stability.
CS
Specifies cursor stability. CS is the default.
UR
Specifies uncommitted read.


FOR UPDATE CLAUSE OPTIONAL or FOR UPDATE CLAUSE REQUIRED
Specifies whether the FOR UPDATE clause is required for a DECLARE CURSOR statement if the cursor is to be used to perform positioned updates.
FOR UPDATE CLAUSE REQUIRED
Specifies that a FOR UPDATE clause must be specified as part of the cursor definition if the cursor will be used to make positioned updates.

FOR UPDATE CLAUSE REQUIRED is the default.
FOR UPDATE CLAUSE OPTIONAL
Specifies that the FOR UPDATE clause does not need to be specified in order for a cursor to be used for positioned updates. The routine body can include positioned UPDATE statements that update columns that the user is authorized to update.
The FOR UPDATE clause with no column list applies to static or dynamic SQL statements. Even if you do not use this clause, you can specify FOR UPDATE OF with a column list to restrict updates to only the columns that are named in the FOR UPDATE clause and to specify the acquisition of update locks.

Sunday, June 27, 2010

kettle组件说明

De-serialize from file input 从一个二进制的KettleCube读取数据 最好做暂存使用,容错能力差
Xbase Input input 从一个Xbase家族的文件中读入数据
Serialize to file input 将数据以二进制形式保存,读入时无需转换
Access Input Input 该步骤提供了从MSAccess数据库读数据的能力 需要指定Table Name FileName is defined in a filed,从指定的区域读数据.否则从指定位置读取,可以按照正则表达式读取
CSV Input input 该步骤提供了从确定分解文件中读取数据的能力 需要指定分隔符和结束符
Delemitor input 分隔符
NIO buffer input 非阻塞(异步传输)缓存
Lazy Conversaition input 延迟转换,不主动转换,在其他步骤有需要时才进行转换,为了提高性能.
running in parallel input 并行运行,如果同一步骤有三个部分在执行,可以选择然后前面的数据会平均的分给本数据.
Excel Input input 该步骤提供了从一个或者多个Excel表读取数据的能力
Wildcard input 疯狂卡~~~ 提供正则表达式匹配
Accept filename from previous step input 从前一步骤中获取文件名
Fixed file input Input 该步骤提供了从固定行宽度的文件的数据读取能力
Line feed character Input 行满符 ascll值 010
Add filename to result option input 向结果输出文件名称
trim type Input 选择消除空格的方式,右边的,左边的,都或者都不
Line feed present Look UP 检查文件是否包含行满符
Generate rows Look UP 产生行,可以指定固定值和行数
Generate random value Look UP 产生随机数,字符串等等
Get file name Look UP 获取文件名称
get file rows count Operation 获取文件行数,可以指定换行符
Get System info Operation 获取系统信息
get data from XML Operation 从XML文件中获取数据
loop Xpath Operation 选择XML文件的循环层,个人理解是根节点
Ignore Comments Operation 忽略注释,不读入数据流
Use Token Operation 使用宏?
Igore empty file Operation 如果是空文件跳过,似乎如果该步骤中只有一个空文件且跳过会出错 选择 Do not raise an error if no file exists似乎就可以正常了.
Property Input Opertion 从Property文件中读入数据
Streaming XML Input Opiton 以流文件的形式从xml文件中读出数据
Table Input Opiton 从数据表中读入数据
Get sql Statement Option 提供与sql相关的功能
Preview first row option 获取前100行
preview first rows option 获取指定行数行
Number Of rows of Option 获取指定表,schema,view和行数
Show Layout of Option 获取指定表,schema,view的一些参数
Generate DDL Option 获取指定表,schema,view的DDL
DDL Option Data define language 数据定义语言
generate DDL for Other language Option 以其它连接(数据库)的的标准产生DDL,感觉很有用
Open SQL for Option 产生一个 Select 语句,OK后会询问是否采用非*的全部查询,感觉挺好用的
trunscate table Option 提供临时的一个查询分析器
text file input Option 提供一个普通文件的数据录入系统
Escape Other 转义字符
SQL File Output Other 以insert语句的形式进行存储
Call DB Procedure Other 调用数据库存储过程
Database lookup output 查询数据库
Stream Lookup Output 从前一步骤的数据流中查询数据
Web Service Lookup transform 查看用作子服务器的服务器状态
Abort transform 夭折,使之结束
add a checksum transform 校验和
Add a constants transform 增加一个常量做属性列
Add a sequence transform 增加一个自增长属性列
Append Streams transform 将一个流连接到另外一个流之后
Blocking Step transform 障碍步骤,使得所有前置步骤执行完成之后才执行下一步,很有用
Calculator transform 提供高效的运算
Clone row transform 复制列
Closeure generator transform 以父子点为基点,父子连接为初识链接,获取所有可以互相连接的点,高级计算的时候很有用
Delay row transform 暂停流转,似乎在debug或者观察性能时有用
Dummy transform 无作为点,对debug很有用
Filter row transform 其它步骤可以引用,分离数据
Group by transform 和数据库中提供的group by 一样强大
Metadata structure of stream transform 获取元数据
Null if transform 置空动作
row normalizer transform 将列映射到行中
Row DeNormaliser` transform 将行转换成列
Row Flatterner transfrom 合并行,合并相同属性,继承不同属性
Select Values trasfrom 选择流中流转到下一步的数据列
sort rows transform 给列排序,和sql的类似
Field split transform 将记录中指定属性分裂成多个属性.需要提供分裂的属性和分隔符,似乎可以用空格
split field to rows transform 将指定属性内容分裂,产生新属性记录和之前记录的属性笛卡尔积
switch/case transform 根据指定属性对记录分类
unique rows transform 筛选出没有重复的记录,需要预排序
value mapper transform 对指定属性进行映射,可以选择新目标属性或者覆盖原属性
XSD validator transform 使用XSD文件对XML文件进行验证
XSL transformation transform 使用XSL文件对XML文件进行转换
join rows join 对多个输入流进行笛卡尔连接,也可以判断性的链接
Merge Join join 根据主键对两个数据流进行连接
merge Rows(diff) join 对两个数据源进行相似比较合并,并可以在输出流中增加对该条记录在源数据是否一致,如果不一致将会在输出流中输出用于比较的记录的值而不是用于引用的记录的值,Identical表示两者一致,Changed表示两个数据流中的不一致,new表示只存在于比较数据流中,deleted表示只出现在引用数据流中
sorted merge join 可以多个已排好序的数据源合并
XML join join 对两个XML进行连接
Excuete SQL script scripting 在指定的数据库上执行sql语句
Modified java script value scripting 对数据流进行处理,默认是每条记录运行一次
Regex Evaluation scripting
Dimension lookup/update data warehouse 对数据库中缓慢变化维进行更新,有update和insert两种,需要有专门的版本属性
Combination lookup/update data warehouse 对一个junk dimension进行代理主键的更新或者插入
Mapping(sub-transformation mapping 调用一个映射transformation,可以设置参数
Mapping Input specification mapping 一个映射transformation的开始步骤,提供参数的输入
Mapping output specification mapping 一个映射transformation的输出步骤,可以输出参数
Copy rows to result Job 将数据传送到下个任务
Get Variables job 从上一个Job中获取参数
Get files from result Job 从上一个Job中获取其所创建的文件信息
Injector Inline 本步骤允许通过JAVA API 注入数据
Socket reader Inline 从一个PDISocket输出流读取数据
Socket Writer Inline 向一个PDISocket输入流输出数据
Data Validator experimental 数据验证步骤,可以按照是否null等进行验证,需要给出filedname和数据类型,如果验证数据流中有数据没有通过会停止transformation
Greenplum bulk loader experimental 从greenplum中获取数据数据的高速步骤
Oracle bulk Loader experimental 从Oracle数据库中高速获取数据
PostgreSql Bulk Loader experimental 从PostgreSQL中高速获取数据
Aggregate Rows Deprecated 简单聚集步骤建议不使用而是使用groupby步骤代替
history history 对历史中使用最多的步骤的集合
export as xml file FILE 用XML格式保存Job或者transformation
inport from XML file FILE 打开XML格式KTR文件
Search meta data Edit 按照指定条件获取当前job或者transformation中的所有元数据
Set environment EDIT 在当前JVM中定义一个全局变量
Get Envirment EDIT 获取当前JVM中的全局变量
Repository Repository 管理资源库,包括连接,断开资源库,管理资源库中资源等
View View 设置当前查看的大小
JOB JOB MENU 当前任务为job级时开始job,编辑job等功能
Wizard Wizard 提供创建数据库源,TABLE-TABLE的数据复制,TABLES-TABLES的数据复制

kettle学习记录

日志服务器随便选择服务器后运行后程序会死掉.似乎是字符编码集的问题 否
似乎对中文支持不好 是的,名称不支持中文
假死怎么办 不知道
起始数据库的作用 存储元数据,保存程序数据
分区的作用
2008-7-29 日期
当自己有特殊要求的时候可以写插件或者JavaScript 知识
Regex evaluation 里面的选项 dotall model 汗,这是regex知识,enable的时候 ‘.’可以匹配任意字符包括结束符,disable的时候不可以匹配结束符
Regex evaluation 里面result fieldname 提示是使用control+ space 其实还是control + alter +space. 心得

Environment variable可以使用${}或者%%变量%%进行引用
最好像kettle的命名规范一样 ‘域名.变量名’ 心得
数据库乱码问题
在新建connection的general中是没有办法设置encoding方案的
解决方法,在option中可以添加NEWCODESET,picc690使用的是gbk,8859-1,819,所以我们就在value处填写gbk,8859-1,819即可
事实上 知识+心得
在table input 中有 lazy conversion, 意思是延迟转换,不主动转换,在其他步骤有需要时才进行转换,为了提高性能.
PDI Pentaho Data Integration 知识
在输出过程中如果已有该数据,不会被update,但是会被insert 心得
在使用 control+ alter + space 选择的时候可以使用首字母快速跳转 心得
一方面因为JVM不能长时间运转无错,另一方面Kettle还没有那么强大,不能schedule过长时间 知识
有时候上次保存的环境变量或者新建的connection会消失, -_-!
环境变量容易消失,connection有时候不会 心得
在database explorer中有generate DDL 选项,即创建数据表的语句 心得
常用的transition Table Input(表输入)Value mapping (映射Code到名称)
Select Values (选择进入下一步的列) add constants (增加常量到列)
Merge join (按主键进行合并,常和 Select Values 合用) 心得
2008-7-29
注意在merge以前要排序,而且排序的方向要相同,估计是算法的原因 心得
Hop颜色含义
绿色 分发
红色 复制
黄色 给步骤提供信息,分发
橙红 给步骤提供信息,复制
灰色 不可用
黑色 无条件运行到下一步(从’开始’出来的)
蓝色 候选链接
橙色,虚线 没有数据经过
红色 粗虚线 发送在源步骤出错的行
知识
Add Sequence:
这个步骤在流中增加一个序列。一个序列是在某个起始值和增量的基础上,经常改变的
整数值。你可以使用数据库的序列,也可以使用 Kettle 决定的序列
备注:Kettle 序列在同一个转换中是唯一使用的。每一次转换运行的时候,序列的值
又会重新循环一次(从开始值开始) 知识
计算器的一个重要优势是,它有着几倍于常用的 JavaScript 脚本的速度 知识
扁平化: 多行合并相同的属性,继承不同的属性, 知识+心得
Blocking :它冻结所有的输出,直到从上一步骤来的最后一行数据到达,
最后一行数据将发送到下一步。 知识
Merge Row :两个行流被合并,一个是引用流(旧数据),一个比较流(新数据)。每次都是行的最后 版本通过进入下一步骤。
Store merge 用于多个数据源相同表的合并
JavaScript 中 行(row)是一个特殊的字段,包含了当前行的所有值 知识
Injector 注射器主要是针对以下人使用:想利用 Kettle API 和JAVA来注射记录到转换中。 知识
Socket Injector 套接字读入器是通过 TCP/IP 协议将数据从一个服务器向另一个服务器传输。 知识
Stream XML Input这个步骤主要提供值的解析,它信赖于 SAX 解析器,在大文件解析上能提供更好的性能。 它与 XML 输入非常相似,仅仅在内容和字段制表符上略有不同。 知识
有transformation和job两个级别,在job里面是对job和transformation进行调度. 知识
用ksh在Unix上面安装bin后缀的文件 知识
2008-7-31
如果因为transformation或者job找不到而不能启动可以在.spoonrc中把OpenLastFile设置问N 知识+心得
步骤介绍
http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps 知识
Plug-In
http://wiki.pentaho.com/display/EAI/List+of+Available+Pentaho+Data+Integration+Plug-Ins 知识
设置自动登录
在环境变量里面设置三个变量
KETTLE_REPOSITORY, KETTLE_USERand KETTLE_PASSWORD. 知识
Multiple SQL Statements have to be separated by semi-colons (;).
Before these SQL Statements are sent to the database to be executed, Spoon removes returns,
line-feeds and the separating semi-colons.
Kettle clears the database cache for the database connection on which you launch DDL statements. 知识
可以在右键功能菜单中修改Data Movement 知识
Number Formats
The information on Number formats was taken from the Sun Java API documentation 知识
在Table look up 的时候如果有事务处理的话使用缓存可能造成脏数据 知识
对话框请扩展开,否则会隐藏组件 心得
当采用kettle的sort rows 时当数据超过5000行时需要缓存 知识
Unique Row(合并行)需要源流已经被排过序了. 知识
A_B映射时可以从空值映射到非空值 知识
Set Variable 在前一转换中设置Variable使得下一步可以使用,应该是被当作Environment variable 使用.会很有用.同一VM上的都可见. 知识
如果使用了资源库并且断过网络,可能出现无法保存的情况,可以暂时Export到本地,重新打开并import然后保存. 心得
2008-7-31
Closure generator 以parent 和child为一组节点群,存在以元组中parent指向child的基本连接,cg的作用就是在节点群和基本连接的基础上寻找所有可能连接,使用的迭代的算法,直至不再更新. 知识+心得
Oracle 支持 Delete from table 不支持 delete * from table 知识+心得
2008-8-1
假死的情况,通常是由第一个步骤引起的 心得
alter table combination rename column limite to limit 心得

cognos8.1资料库表作用探索

CMOBJECTS 所有对象 classId =5 表示是用户
CMOBJNAMES 对象显示的名字
CMOBJPROPS3 自定义页面元素
CMOBJPROP7 安全定义(用户,数据源)猜测
CMOBJPROPS11 数据源定义
CMOBJPROPS13 reportNet参数定义
CMOBJPROPS14 各个清单,分析的状态(创建时间,修改时间,修改次数等等)
CMOJBPROPS20 各个报表执行的时候的定义(是否提示页等等)

CMJBJPROPS25 清单报表定义
CMOBJPROPS33 用户ID和cognos中的ID的Map
CMLOCALES 国际化库 LOCALEID = 196 zh

CMPROPERTIES enum(不知道是什么东西)
CMREFNOORD2 (对象和创建者的关联)
CMRFEFORD1 首页内容(公共文件夹(REFCMID=2),我的文件夹(REFCMID各自有))和用户的关联.


CMID
147 administrator 有公共文件夹
281 22010000 没有
295 qianlei 有
568 22000000 没有
2,553,1684 公共文件夹
9 我的文件夹

对于PICC统计分析系统设计的思考

对于麦肯锡,咨询业内流传一个这样的故事,有一个老头,正在草地上放羊,忽然走来一个年轻人,年经人走到老头面前说:老先生,我可以为您服务,我将告诉您您的这群羊有几头,作为酬劳您需要给我一头羊。老头还未作答,年青人就开始了工作,年轻人用笔记本电脑无线上网,链接上NASA的内部网,调动低轨道卫星,把卫星遥感成像的图片再通过软件分析,数十分钟后,年轻人再次走到老头面前:老先生,您的羊群共有763头。说完后他抱起一只羊就要走。
老头这时叫住了年青人:年青人,如果我能猜出你就职的公司,你可不可以把酬劳还给我?可以,年轻人答。你是麦肯锡公司的,老头说。年轻人很惊讶,您怎么知道?老头笑了:因为你具有该公司咨询人员的所有特点啊,第一。你不请自来。第二。你告诉我的分析结果是我本就知道的。第三。你抱走的不是羊,而是我的牧羊犬。

这个故事在业内流传甚广,它似乎是说即麦肯锡的咨询好像就是告诉了客户一些它早就知道的信息,但是换个角度,当只有一个牧羊人,一个羊圈的时候,也许是这样一种情况,但是换成一个镇子里面的人,有牧羊人,有羊毛商人,有织毛女工,有裁缝,还有面包师,理发师,陶匠…。这样的情况怎么能让每一个角色,每一个人都知道会和自己相关(人通常都只关心和自己相关的事情)的情况呢,这就不是一个好玩的笑话了。相反,这就成了一个值得我们花费大的精力研究的事情。
现在有一个流行的说法,即解决方案提供商,中科软科技的各个部门也有多解决方案的提供。事实上,解决方案和咨询公司提供的服务内容很类似。所以,前面这个道理也适用于我们统计分析产品。
1 定位
在过去我们组有两个定位,一个是‘统计分析’组,一个是‘BI’项目,这两个定位当然是不一样的,BI应该是一个更大的概念,就前一个概念而言,我们现在做的主要是统计部分,而分析的工作是让是让客户根据我们的统计数据进行的。
就市场和我们的能力而言,我们当然是愿意做BI的。但一方面BI的基础是统计,另一方面我们的传统市场统计方面还做得不够。就工具而言我们使用的cognos部分也没有很强大的intelengent工具。也就是说在Intelengent方面我们的积累还很少。所以在内部而言,我认为我们还是要先定位在统计工作的完美上面。当然,这并不是说我们就不做BI中Intelengent的部分,BI中的Intelengent和非Intelengent的部分并不是可以完全分隔开的两个部分。
在我看来统计工作有两个要点,一个是全面,另外一个是精确。
全面指的是统计的数据包括的内容全面,这也就意味不仅仅是用户已经提出过的分析报表包括的指标,维度,还要关心其它未提出的但是有信息量的数据,当然考虑到实际情况,我们应当考虑关心的主题的数据内容的全面,而不是所有的数据的全面。
这里的精确借用了数学中的概念,就是在可容忍的范围内的准确度,这个和业务系统中数据的变化信息的不可回溯相关,这里的精确并不是简简单单的说提数的时候的过滤条件要写得很准确,这是一个系统的工程。


如何实现BI?
在传统的人保的人员的职能划分中,通常包括有总经理,办公室,人力资源,财务会计,监察审计,信息技术部,车险部,非车险部,理赔管理,承保管理,再保,大型商业等等,其中又有对于产品线的划分。这事实上和前面的小镇的人的社会角色的分类类似,另外还有上下级的划分,在很多分公司里面,这些部门之间通常有很多天然的障碍以至于这些部门之间的信息不能够相互沟通。所以要实现这些信息的共享也不是一件容易的事情。
首先是统计分析,然后才是BI, 首先要如实地,全面的反映公司的经营状况,然后才是分析将来的发展(现在比将来容易掌握,现在是将来的基础)。
1.1 如何真实反映
真实反映一个公司的经营状况决不能只是管中窥豹,
1.1.1 重新划分主题
在‘全面’的论述中我提到了一个概念<主题>,这个概念我们在之前的工作一直也提到过,如承保,理赔,财务,收付费,这样的划分。这是一种划分,但是这是根据业务模块的划分,而不是根据内容的划分。根据以前的模块划分的方法,在实际工作有很多弊病,我们面对的客户并不是一个牧羊人,他们所关心的内容是所有的和自己相关的信息,而领导层关心的内容就更多了,像前面提到的一样,承保的信息和理赔的信息是相关的,理赔模块需要考虑承保模块的中的承保信息,承保日期等等,而承保部门也需要了解脱保续保中续保的保单的出险情况(这个有Intellengent的部分,根据统计信息做出决策)。人保或其它保险公司内部的传统的报表绝大部分都是按模块划分的,所以他们觉得最有用的部分是财务报表,或者是业务的一些简单的报表,这个可以适应于通过粗放式管理时对规模的追求的考核,并不适用于现在对效益驱动的业务形式。

1.1.1.1 为什要重新划分

1.1.1.2 重新划分的标准
所谓的主题(Subject)是指的若干经过组织的内容相互之间关联,所拥有的共同点。它们的特征是很容易在一个语境出现,如保单数量和保费,保费和已决赔款,已决赔款和车座数,当然有这个的特征不一定都是属于同一个主题,但是同一个主题下面的数据一定会有这个特征。
类型的另一个特征是它们的度量单位,我们知道如果一些数据如果有相互关系,那么在普通的计算系统下,他们的度量单位会有关系,如 件、元、元/件 这三个度量单位是有相互关系的,所以这些度量之间也可能有相互关系。
另外一个可以参考的信息是客户的对业务考核的相关文档,如《安徽池州市分公司实施精细化管理促车险业务扭亏增盈.doc》这篇文章中,我们就可以获取相当的信息,这个在我的《对(安徽池州市分公司实施精细化管理促车险业务扭亏增盈)的分析.doc》有一个简单的尝试。
1.1.1.3 筛选维度
通过对旧有系统中的报表的分析,我们可以得到《常用维度和指标(按主题).xls》这样一个图表,在这个图表中以左上角为原点,越靠近原点的维度或者指标出现的次数越多,可能性越大,在颜色为白色的表格中是可能出现的而尚未在已有报表中出现的关联,这是我们在前面提到的‘全面’中应该实现的部分。
对已有指标的数据可以进行有意义的分类的,
1.1.1.4 新建维度
通过一些思考和相关资料的收集,我觉得还有一些维度可能会有信息量而尚未出现或者很少出现的维度。
1.1.1.5 新的主题
在这些维度和指标中通过前面提到的主题的划分标准和我们的经验可以得到以下的一种划分。
 效益类 和效益相关的维度和指标,是现阶段我们系统主要内容。
 效率类
主要是case的处理速度,承保的速度(转保单),处理报案的速度,处理立案的速度,理赔的速度,结案的速度。
 考核类
主要是一些总公司提供的考核类型。

1.1.1.6 对于中间库的影响
1.1.2 使用专题
主题分析,是在主题域的基础上建立的分析,比如客户分析,利润分析,效率分析,更多的是种“分析”;专题分析,说得更多的一个词是专题应用;顾名思义,是针对某个特定的问题,提出的一整套分析应用专题;
在统计分析系统的历史版本当中,多半是以部门划分的模块, 这样的划分在这里就有相当的意义.例如在利润分析里面可以有承保环节的专题,包括规模,费率,已赚净保费,应收保费等等,理赔环节的专题可以包括未决分析,已决分析,赔付率分析等等。这样一来就可以将一个大的主题里面的数据分为多个相关联的模块。
利润主题—》承保专题,理赔专题,费用专题,效益专题等等。
效率主题—》承保环节,理赔专题,95518专题(不了解,应该可以重新划分这个)
风险主题—》批改保单(费用,日期),出险率分析(保单出现率,保费出险率(简单赔付率)),巨灾等等。
1.1.3 条件维度
所谓条件维度和普通维度区别在于它的内容的特殊性,普通的维度是对于数据的分类,划分,例如机构归属等等。这里的条件维度一般是用于关注的数据的范围,是根据当前的专题确定的,也就是说通常情况下只要查看该主题的情况下即需要选择该条件维度。
为什么会提出条件维度呢,这和前面提到的统计工作的要点和我们实际工作中遇到的问题是相关的。
首先我们需要不断的追寻精确这个要点,另一方面我们所实现的“精确“和客户所能理解到的“精确“应该要同步。
我们之前的筛选方式是通过在后台提数或者是写iqd的时候直接将数据筛选掉来实现的。在这种情况下使用文档来进行说明是一种方式。但是使用文档一方面有使用复杂的问题另一方面有同步的问题(如更新选择条件,而用户还停留在过去的印象中)。
使用条件维度的优势是
一, 能够让用户直观的了解当前数据的筛选条件。
二, 能够实时更新,当条件发生变化的时候可以在用户使用该专题的时候第一时间了解到。
三, 由于我们的系统还不够成熟,有些业务还不够了解,再加上客户业务的独特性(不是每个客户都会关注所有条件),这样在大范围的客户使用的时候也能够让客户快速理解和反馈。
使用条件维度的缺陷,如果条件比较多的话,会让用户使用感比较差。可以采用定制报表和采用一个“常用条件“维度来简化这个操作。

1.2 提供将来的趋势
在基础数据精确的基础上我们就可以进行趋势的分析了。
1.2.1 为什么要了解趋势

1.2.2 有哪些主要的指标需要了解趋势(对已有的分析)
2 测试先行
3 元数据管理
3.1 什么是元数据
3.2 定义元数据
3.3 元数据驱动的测试
3.4 以元数据为基础设计数据仓库
3.5 模型设计中使用元数据的部分
3.6 维护元数据

4 数据仓库的设计
优点 当前的中间库设计的时候已经取得了一些成效,可以将一些经常关联的数据存储在一个事实表中,维度表方面设计得也大致完善了。
缺点 这些中间库的设计思想是提出还不够完善,对于上面提出的系统应用还不够。
出于面向上面的设计和应用的思想,一个简单的后台数据层设计模型如下,该模型的优点如下:
1, 采用了面向主题的思想,相关的维度和指标会归属于一个主题。
2, 采用了视图环节,可以将一些跨主题的指标和维度联系在一起,
3, 采用了视图环节,可以将不同粒度的数据合并在一起,这样可以平滑的在数据粒度和存储空间和资源消耗之间做一个选择。
4, 采用了视图环节,可以将模型处的逻辑和设计最小化,可以快速的进行数据的调整。
5, 采用视图环节,可以在使用前面提到的条件维度的时候快速调节“常用条件“维度。


对于收付费的库可以使用历史周的汇总数据+最近的一周内的明细数据进行抽取,每过完一周将这周的数据汇总到历史周中去。
5 系统的成长
我们的统计分析系统的成长肯定不是一蹴而就,有很多信息我们尚未了解,很多技巧我们尚未掌握,很多第三方的技术尚未出现。在这些事情发生的时候我们应该怎么做呢?
6 其它
6.1 提数的范围
在模型的理想设计中,我们的数据是包含有所有的数据的,但是考虑到效率原因和功能原因,我们通常只需要近三年的数据,在这种情况下,旧的提数方式会有一个天生的数据缺失的缺陷,即在某个环节中出现的单证的其它环节的信息存在我们的中间库中,当然这个可以通过补录的方式实现,但是这个实现方式繁琐且dirty(每个环节都需要考虑其它的所有环节),下面是一个简单而清晰的方案。
步骤1,确定提数的范围,包括提数的时间段和提数的数据范围(承保保单、理赔表。。。)
步骤 2,因为保险业务的特殊性,几乎所有的数据都和保单相关,所以把数据范围类的根据提数时间段或其它条件将所有相关的保单号汇总到一个表。
步骤 3,根据步骤2产生的保单号表提所有的数据。
步骤 4,增量更新,和旧方案相同,根据snapdb的信息提数。
6.2 对于中间库的思考
6.3 使用etl工具
经验的积累
数据的增长方式,如果使用月+天的方式存储数据,需要两步将天的数据更新和将月数据更新。如果使用唯一的粒度即天,则只需要一步更新一次数据
数据的可靠性
常用过滤条件
6.3.1 对于多层次重复计数的问题,
例如混保的时候,按照险别统计保单数正确的时候按照险类统计可能就不正确了,这种情况下可以建造一个指标即混保的保单数数×该混保保单的混保数量,这样即可以获得正确的保单数。



吉林的关注点,未决赔款,应收保费,脱保续保.
收付费的应收保费
安徽方面的数据信息.

未决发展
安徽扭亏方面的环节数据方面的关注点,未决准备金.重点关注的是金额.
未决准备金额,可以分机构险种,这样一般来说也够了.可以和是否人伤相关联么?应该可以和sf02关联取保单号取数据.

主要有的维度 机构、险种、观察日期、数据日期、是否人伤。
指标:新增未决件数、新增未决金额、累计未决金额、案均未决准备金额、已决件数、已决案均金额、累计已决金额、当期有效保单件数、同期案件出险占比(出险案件数/当期有效保单数)
案件类型对未决估损金额应该有关系,应用未决件数分类型的加权值。估损偏差可能比较稳定,有规律。
每个地市的估损人员可能不超过10人,可以作为一个层次加入到机构维度中。加入新的维度或者层次的时候要综合多个地市或者省市。
各项金额同期、同比。
应收保费的分析帮助行可能不大,通过已有规律,安徽应收保费应收6%-14%,年为周期的一个变动过程。

脱保续保,对这个的关注主要出现开始于多家新保险公司出现的时候对市场份额的影响,出于害怕客户流失的考虑提出这个点。
对续保提示的时候是否有考虑过出险次数,已赔金额。(核保一定会考虑,通过系统外的信息:如旧保单上面的出险章(信息可能比较旧)新系统可能已经有了)车险分为ABCDE级业务()。
提高非车险占比,降低车险占比,调优产品线结构。

要综合考虑调整数据展示范围后(如加入注销维度)对于用户使用的影响.

是否给各个指标加上平均值,占比等等.

测试

现在的时间是:2010年5月22 日 2:23
你的全名:紫气东来
你在哪里读书(工作):北京
现在所在的城市:北京
现在的联系方式:135xxxx6140
最近在听谁的音乐:最近没有特别听谁的歌,foobar里面一千五百首来回颠倒.心情到谁了就听谁的
现在天气如何:完全告别了漫长的冬天,进入夏天的气候,开始炎热了.
你养过什么:一个人…..
有几个耳洞:没有
有纹身吗:没有,纹上了就不能去掉了,还不能确定有没有那样一种情感一辈子不变.
喜欢目前的生活吗:不喜欢,太无聊了,进退维谷,不过在积攒吧,攒能力,攒钱.希望能做自己想做的事情.
现在有暗恋的对象吗:没有,但是有一个感觉还不错的人.暗恋这个东西太伤了.
喜欢喝什么:纯净水,如果我正在喝纯净水的话说明我生活状态比较好,不忙碌,可以慢慢的平淡.
会因为害羞而不敢跟人表白吗:会,谁叫我没有恋爱过呢,都没有自信了.
你喜欢什么类型的异性:聪明,有自信,有追求,有想法,活得很透彻.
喜欢的数字:没有.
喜欢哪一种电影类型:类型算科幻片,其实现在就喜欢一些比较欢乐的片子,但不能太欢乐了,太欢乐了会让我难受.
最怀念的日子:大学的时候可以傻傻的看着湛蓝的天空的时候.
最喜欢星期几:没有
喜欢的运动:游泳,我喜欢游泳煅炼身体,也喜欢游泳游戏.
如果有来世:性格能够普通一点.
最讨厌的事:做重复的事情,或者是别人出尔反尔.
最喜欢的事:和心爱的人在一起.
寄这封邮件给你的上一个人是:小朋友.
无聊的时候你大多会做些什么:玩游戏.
世界上最好的事情:两情相悦,皆大欢喜.
如果有人误会你:无所谓了,如果还会继续交往的话会解释,只说事实,只说一遍.
你觉得谁是最不可能回复的:110
现在最想见的人:小刀,想知道她是什么样子.
最想什么时候结婚:找到一个我喜欢的也喜欢我人以后.
最希望谁回信:小刀.
现在最想干嘛:昨天在想组织一个活动,让不同身份的人能够互相交流,1on1,没有任何客套,形式,恶意的交流,充满诚意的,深刻的交流,能够有问必答,有想法就说地交流.
个人而言,最近最想换个工作,工资也不用涨,但是能做一些有趣的事情.希望能把一些需要解决的事情统统解决掉.让我可以开始有趣的生活.

Saturday, June 19, 2010

在汇款小票丢失以后(2)

6月16日房子到期了,最担心的事情还是发生了.被中介发现转租了.而转租的后果是违反合同,对方可以扣下押金的.我的准备是死不认帐,然后要回押金.
简要的说,水电费交过以后,交涉押金的事情.交接的是一个业务员,以前也没有见过.开始先讨论转租这个事情,业务员当然是以后咬定我转租了,我也咬定没有转租.有点谈崩了.这时候这样僵持下去对我没有什么好处,然后就换种方式,给这个业务员点好处,然后他去帮我退租金.这家伙一开始还跟我废话,后来慢慢说说,然后他说你先说个价.我就想总共退我1350,给他350,但是这样又太显然以我为中心了,好像给他一点零头似的,所以就给说四百了.这家伙居然没有还价,然后说先这样吧.看来是可以了,后来听说隔壁退押金也给了他400,免得他说东西坏了什么的要赔,而那个租小间的小姑娘也给了四百的中介费续住.
最后顺利退租,给了业务员四百,没有用到去银行要的票据.所以这事也算告一段落了.
现在住的地方搬来一个新人,好像人还可以.后面就没有什么事情了,准备考研的事情了.

Wednesday, May 12, 2010

正月初三进派出所

起因,早上起床,上卫生间去,发现灯开着,以为有人,过了20分钟再去,发现灯还开着,敲门,没人,嘟囔句"毛病",然后隔壁就闹起来了,闹着闹着,老太太就开始推我了,本着绝不动手打妇孺的原则,没有动手,然后那家男人冲出来了,也开始推我,这时候就有四个人(老太太,泼妇,小男人,大男人)来推我了.混乱中,共计眼镜被搞掉一副,衣服被推掉,鞋被推掉,抓痕若干,然后出手一次,标准的直拳哦.
推到最后,推到我们的房间里,觉得事情已经没有办法了,打110,居然第一次的时候挂我电话,对方还假装打电话给110,"喂,110吗?我是XXX",
太搞了,装做和对方认识的样子.我还以为他们打通了,在等警察同志来.后来还去问了下,没有回答我的问题,然后王同学就打电话啦,号称杀人了,然后说打起架来了.不一会儿警察来了(一个正式警察和一个保安).敲门还挺轻了,然后经验丰富知道是邻里纠纷开始询问,各自表达,我表现得极其冷静,对方和王同学就互相指责.泼妇生成老太太病了什么的,也太低级了,没有人相信,包括她自己,警察和我们.老太太则是使用了温情手段,还说孙子画了个东西,想让他们过来团年什么什么的,小男人没有出现,大男人一直在.询问了当,双方还是互相争执,警察烦啦,让我们去派出所协调去,然后一行若干人坐着警车去了派出所,协调人员来了,说了说情况,反正是各打三十大板,说说各自的损失,然后主要就是要赔我的眼镜了,皮外伤就算了.我的眼镜三年前买的,然后差不多300买的,要他们赔150,对方还价100,当然这个过程是双方各在一个房间里面.完事.
没有什么新奇的东西,倒是要小心有老人的时候.
另,王同学曾经踹开过中介的门,恐怕对方利用这点把里面的东西损坏了,或者偷走了,让我们背黑锅.这就麻烦了,本来回来的时候就准备说先让用手机拍一下房间,然后后反锁门的,回来以后发现门已经被反锁了,也不知道对方有没有做什么手脚.

Wednesday, May 05, 2010

study notes

check the disk space on AIX
check certain file du -ms  . m means size in megabyte, and s means return single line.
check the disk df -m 

Tuesday, May 04, 2010

这是一出悲剧么?

故事的开始总是美好的。
但是中间发生了一些事情,不知道是不是太年轻了。
之前说过说我四差。我是一个很容易认真的人,她也是。在愤怒的时候,她常常不能控制自己,使用最伤人心的话语。
从一开始的面对这些辱骂的愤怒和失望 到听到拒绝的话语的害怕 到听到责难的时候的宽容、无视 到心灰意冷。
2010.4.8
早上的时候做了一个梦,梦里和谁谁谁在一起,然后就在路上走着走着,碰到水坑啦(其实记不起来了),然后谁谁谁就说都怪你,blabla, 然后我就醒了,果然已经习惯了么。



Wednesday, April 28, 2010

Avoid warning when access remote server via ssh with multiple accounts on one client.

AT.
If you put all the public key of local client on the server, and then you connect it via ssh, it will promote a warning.
Warning: the RSA host key for 'a.b.com' differs from the key for the IP address 'x.x.x.x'.

This happened because the ssh server check the key according to the IP address, and since we have multiple account on local client,The server will recored different RSA key from a unique IP,It will result in conflict.

It could be solved by setting the option,
check out ssh_option(5)
e.g sudo -u super_a ssh -o checkhostip="no" username@remote_host 'echo "hi"'.

Friday, April 23, 2010

study notes

umask value
if the previous default permission for file is XXX,set the default permission to XXX &~ $value
perl Number 
$n = 1234; # decimal integer
$n = 0b1110011; # binary integer
$n = 01234; # octal integer
$n = 0x1234; # hexadecimal integer
$n = 12.34e-56; # exponential notation
$n = "-12.34e56"; # number specified as a string
$n = "1234"; # number specified as a string


use taglist to improve vim
1 download Exuberant ctags extract it, add the dir to PATH.
2 download taglist plugin extract it to ~/.vim/
3 restart vim,run :TlistOpen in vim
4 done 
you may want to read



example of vim setting 

set nobackup
set nu
set tabstop=4 " numbers of spaces of tab character
set shiftwidth=4 " numbers of spaces to (auto)indent
set ignorecase " ignore case when searching
behave mswin
"taglist

let Tlist_Sort_Type = 1 "list the tag by name alphabetic
let Tlist_GainFocus_On_ToggleOpen =1 "jump on one click
let Tlist_Auto_Highlight_Tag=1 "Automatically highlight the current tag in the taglist.
let Tlist_Auto_Update =1 "Automatically update the taglist to include newly edited files.
let Tlist_Exit_OnlyWindow =1 "Close Vim if the taglist is the only window.

Tuesday, April 20, 2010

cygwin set display languge

add 
export LANG='C.UTF-8'
to set the language to English.
or
export LANG='zh-CN'
to set the language to Chinese .

Wednesday, April 14, 2010

study note

Perl sort a hash
1 sort by key
foreach $key (sort (keys(%hash_name))) {
  print "\t\t$key \t\t$hash_name{$key}\n";
}
2 sort by $value 
make use of perl sort
 foreach my $key ( sort { $rules{$a} <=> $rules{$b} } ( keys %hash_name ))
{
  print "$key => $hash_name{$key}\n";
}
if you want get the set sorted numeric and desc
switch $a and $b e.g

 foreach my $key ( sort { $rules{$b} <=> $rules{$a} } ( keys %hash_name ))
{
print "$key => $hash_name{$key}\n";
}

Tuesday, April 13, 2010

study notes

getopts for perl?
check out
my %options=();
getopts("a",\%options) or usage();

#HELP_MESSAGE();
addrule() if defined $options{"a"};
sub HELP_MESSAGE()
{
$Getopt::Std::STANDARD_HELP_VERSION=1;
usage;
}
sub VERSION_MESSAGE()
{
$Getopt::Std::STANDARD_HELP_VERSION=1;
#print `grep "^# VERSION" ./odssvn.pl`;
}

TEST;
perl t.pl --help
perl t.pl --version
perl t.pl -a

MD5 for perl

use Digest::MD5;

$ctx = Digest::MD5->new;
$ctx->add($data);
$ctx->addfile(*FILE);
$digest = $ctx->digest;
$digest = $ctx->hexdigest;
$digest = $ctx->b64digest;

Thursday, April 08, 2010

gvim set nobackup

do not generate filename~ file.
try Edit->start setting-> add "set nobackup " under source $VIMRUNTIME/mswin.vim
done


study note


1 To change the owner of the file program.c:

chown jim program.c

The user access permissions for program.c now apply to jim. As the owner, jim can use the chmod command to permit or deny
other users access to program.c.


准备户口迁回家

现在算是口袋户口,身份证还有5年就要到期了,而且要是掉了还超级麻烦的样子。所以准备迁户口。
2从学校迁出 厦大派出所电话 0592-2185893,所需材料,户口页,毕业证,户口迁入地提供的证明。
 迁入地重庆老家 重庆户籍室电话 023-63962385
 太龙镇 派出所电话023-58501035
 万州区户政科电话 64880012
1写申请,表明迁入意愿,原因。到向坪社区(找冯春喜)里盖章,然后交给镇派出所 并包括毕业证复印件,新身份证照片(需要身份证制定点)。(本来可能需要本人办,但是乡下好办事,让家人托办就可以了)
 迁入地(太龙)派出所会给出迁出地所需的证明。
 然后到迁出地(厦大)办,
 然后到迁入地(太龙)办。
计划周末去照相,复印毕业证,用快递寄回家让办。

中国的户籍制度真是太可恶啦。

Tuesday, March 23, 2010

ksh detail

If you want to show the result of `ls` one entry by each line, try
argument -1 (1 not l)

Sunday, February 07, 2010

数据仓库建模_9

type 3 slowly changing dimension is just added a historical column.
The type 3 slowly changing dimension technique allows us to see new and
historical fact data by either the new or prior attribute values.

关注

在对方如果获得成就的时候,即使他在主动的讲了,也要记得关切的询问.特别是如果对方的心情都为之改变了,请关心.

Sunday, January 24, 2010

Intresting

Last night I was thinking about dirty things. All in a sudden,like there is a switch, I mind just became clean and I just be not drowned in it anymore. It's really a strange experience.


Thursday, December 31, 2009

A memory

A new beginning for 2010

数据仓库建模_8

Common Matrix Mishaps
Departmental or overly encompassing rows.
Report-centric or too narrowly defined rows.
Overly generalized columns.
Separate columns for each level of a hierarchy.
Slowly Changing Dimensions
Type 1: Overwrite the Dimension Attribute 
         the original dimension, only the latest infor is saved.
Type 2: Add a New Dimension Row
         the time period attribute is added.
Type 3: Add a New Dimension Attribute
         add a version to attribute, user can choose any version of dimension. very useful when user want to switch the dimension.
Mini-Dimensions: Add a New Dimension
         break a huge dimension into stable parts and frequently changing parts.
Hybrid Slowly Changing Dimension Techniques
        try to adopt the advantage of above basic kinds of dimensions. Be care when use it.
Role-Playing Dimensions
        A single dimension used many place of a model could be addressed as 'Role-Playing Dimensions'
Junk Dimensions
        When the dimension cannot deal with legacy flag or text attribute. Try these
        Leave them in the fact table.
           but it's worst practice.
        Make them into separate dimensions.
           it may lead to the exploring of dimensions. RimBall says "we strive to have fewer than twenty foreign keys in a fact table for most industries and business processes. "
        Eliminate them. 
            if it's meaningless, yield them.
Note Junk dimension is a highly technical term; try use some neuter like "invoice indicator".
Snowflaking and Outriggers
        A snowflaking dimension is normalized dimension. seperated and then linked back .
        An outrigger is useful if most of the dimension records share handful common informations.

three types of dimension 
Transaction Fact Tables
Periodic Snapshot Fact Tables
Accumulating Snapshot Fact Tables
Factless Fact Tables

Monday, December 28, 2009

数据仓库建模_7

Application Architecture Document
• EXECUTIVE SUMMARY
o Business Understanding
o Project Focus
• METHODOLOGY
o Business Requirements
o High-Level Architecture Development
o Standards & Products
o Ongoing Refinement
• BUSINESS REQUIREMENTS AND ARCHITECTURAL IMPLICATIONS
o CRM (Campaign Management & Target Marketing)
o lSales Forecasting
o Inventory Planning
o Sales Performance
o Additional Business Issues
􀂃 Data Quality
􀂃 Common Data Elements and Business Definitions
• ARCHITECTURE OVERVIEW
o High Level Model
o Metadata Driven
o Flexible Services Layers
• MAJOR ARCHITECTURAL ELEMENTS
o Services and Functions
􀂃 ETL Services
􀂃 Customer Data Integration
􀂃 External Demographics
􀂃 Data Access Services
􀂃 BI Applications (CRM/Campaign Mgmt; Forecasting)
􀂃 Sales Management Dashboard
􀂃 Ad Hoc Query and Standard Reporting
􀂃 Metadata Maintenance
􀂃 User Maintained Data System
o Data Stores
􀂃 Sources and Reference Data
􀂃 ETL Data Staging and Data Quality Support
􀂃 Presentation Servers
􀂃 Business Metadata Repository
o Infrastructure and Utilities
o Metadata Strategy
• ARCHITECTURE DEVELOPMENT PROCESS
o Architecture Development Phases
o Architecture Proof of Concept
- 167 -
o Standards and Product Selection
o High Level Enterprise Bus Matrix
APPENDIX A—ARCHITECTURE MODELS

Wednesday, December 23, 2009

倦了

也不想认识谁,也不想联系了,太有挫败感了.

数据仓库建模_6

Extract

• Data profiling (1)
• Change data capture (2)
• Extract system (3)
Clean and Conform
There are five major services in the cleaning and conforming step:
• Data cleansing system (4)
• Error event tracking (5)
• Audit dimension creation (6)
• Deduplicating (7)
• Conforming (8)

Deliver
The delivery subsystems in the ETL back room consist of:
• Slowly changing dimension (SCD) manager (9)
• Surrogate key generator (10)
• Hierarchy manager (11)
• Special dimensions manager (12)
• Fact table builders (13)
• Surrogate key pipeline (14)
• Multi-valued bridge table builder (15)
• Late arriving data handler (16)
• Dimension manager system (17)
• Fact table provider system (18)
• Aggregate builder (19)
• OLAP cube builder (20)
• Data propagation manager (21)

19 and 20 could be done in cognos
ETL Management Services

• Job scheduler (22)
• Backup system (23)
• Recovery and restart (24)
• Version control (25)
• Version migration (26)
• Workflow monitor (27)
• Sorting (28)
• Lineage and dependency (29)
• Problem escalation (30)
• Paralleling and pipelining (31)
• Compliance manager (32)
• Security (33)
• Metadata repository (34)

PROCESS METADATA
?ETL operations statistics including start times, end times, CPU seconds used,
disk reads, disk writes, and row counts.
?Audit results including checksums and other measures of quality and
completeness.
?Quality screen results describing the error conditions, frequencies of
occurrence, and ETL system actions taken (if any) for all quality screening
findings.


TECHNICAL METADATA


• System inventory including version numbers describing all the software
required to assemble the complete ETL system.
• Source descriptions of all data sources, including record layouts, column
definitions, and business rules.
• Source access methods including rights, privileges, and legal limitations.
• ETL data store specifications and DDL scripts for all ETL tables, including
normalized schemas, dimensional schemas, aggregates, stand-alone relational
tables, persistent XML files, and flat files.
• ETL data store policies and procedures including retention, backup, archive,
recovery, ownership, and security settings.
• ETL job logic, extract and transforms including all data flow logic
embedded in the ETL tools, as well as the sources for all scripts and code
modules. These data flows define lineage and dependency relationships.
• Exception handling logic to determine what happens when a data quality
screen detects an error.
• Processing schedules that control ETL job sequencing and dependencies.
• Current maximum surrogate key values for all dimensions.
• Batch parameters that identify the current active source and target tables for
all ETL jobs.

BUSINESS METADATA
Data quality screen specifications including the code for data quality tests,
severity score of the potential error, and action to be taken when the error
occurs.
• Data dictionary describing the business content of all columns and tables
across the data warehouse.
• Logical data map showing the overall data flow from source tables and fields
through the ETL system to target tables and columns.
• Business rule logic describing all business rules that are either explicitly
checked or implemented in the data warehouse, including slowly changing
dimension policies and null handling.

We call this usage based optimization

The solution for huge dataset
Typical adjustments include partitioning the
warehouse onto multiple servers, either vertically, horizontally, or both. Vertical
partitioning means breaking up the components of the presentation server architecture
into separate platforms, typically running on separate servers. In this case you could
have a server for the atomic level data, a server for the aggregate data (which may
also include atomic level data for performance reasons), and a server for aggregate
management and navigation. Often this last server has its own caching capabilities,
acting as an additional data layer. You may also have separate servers for background
ETL processing.
Horizontal partitioning means distributing the load based on datasets. In this case,
you may have separate presentation servers (or sets of vertically partitioned servers)
dedicated to hosting specific business process dimensional models. For example, you
may put your two largest datasets on two separate servers, each of which holds atomic
level and aggregate data. You will need functionality somewhere between the user
and data to support analyses that query data from both business processes.

Presentation Server Metadata
PROCESS METADATA
• Database monitoring system tables containing information about the use of
tables throughout the presentation server.
• Aggregate usage statistics including OLAP usage.
TECHNICAL METADATA
• Database system tables containing standard RDBMS table, column, view,
index, and security information.
• Partition settings including partition definitions and logic for managing them
over time.
• Stored procedures and SQL scripts for creating partitions, indexes, and
aggregates, as well as security management.
• Aggregate definitions containing the definitions of system entities such as
materialized views, as well as other information necessary for the query rewrite
facility of the aggregate navigator.
• OLAP system definitions containing system information specific to OLAP
databases.
• Target data policies and procedures including retention, backup, archive,
recovery, ownership, and security settings.

The most important BI application types include the following:

• Direct access queries: the classic ad hoc requests initiated by business users
from desktop query tool applications.
• Standard reports: regularly scheduled reports typically delivered via the BI
portal or as spreadsheets or PDFs to an online library.
• Analytic applications: applications containing powerful analysis algorithms
in addition to normal database queries. Pre-built analytic applications
packages include budgeting, forecasting, and business activity monitoring
(BAM).
• Dashboards and scorecards: multi-subject user interfaces showing key
performance indicators (KPIs) textually and graphically.
• Data mining and models: exploratory analysis of large "observation sets"
usually downloaded from the data warehouse to data mining software. Data
mining is also used to create the underlying models used by some analytic and
operational BI applications.
• Operational BI: real time or near real time queries of operational status, often
accompanied by transaction write-back interfaces.
164

Tuesday, December 15, 2009

when you get old, you will know which ones could not be friends.

昨天晚上她说五差,背景差,长相差,学历差,收入差,理想差.还说我只能找到一个收入两三千的打工妹.
虽然从这些来看并不是市侩的人,虽然她这些日子很难过,但是作为朋友如果得不到尊重,被看不起,是很难延续下去.虽然我应该大度一些,照顾别人,但是人家还觉得受了这个照顾很憋屈.又何必自找没趣呢?
也许已经习惯了有谁的生活,但是如果不值得(各个层面)的话,又何必延续下去呢.

Thursday, December 10, 2009

探索的动机(爱因斯坦在普朗克生日会上的讲话) : 弯曲评论(zz)

zz
http://www.tektalk.cn/2009/12/06/探索的动机(爱因斯坦在普朗克生日会上的讲话)/
附录:探索的动机(爱因斯坦在普朗克生日会上的讲话)

在科学的庙堂里有许多房舍,住在里面的人真是各式各样,而引导他们到那里去的动机也实在各不相同。有许多人所以爱好科学,是因为科学给他们以超乎常人的智力上的快感,科学是他们自己的特殊娱乐,他们在这种娱乐中寻求生动活泼的经验和对他们自己雄心壮志的满足;在这座庙堂里,另外还有许多人所以把他们的脑力产物奉献在祭坛上,为的是纯粹功利的目的。如果上帝有位天使跑来把所有属于这两类的人都赶出庙堂,那末聚集在那里的人就会大大减少,但是,仍然还有一些人留在里面,其中有古人,也有今人。我们的普朗克就是其中之一,这也就是我们所以爱戴他的原因。

我很明白,我们刚才在想象随便驱逐可许多卓越的人物,他们对建筑科学庙堂有过很大的也许是主要的贡献;在许多情况下,我们的天使也会觉得难于作出决定。但有一点我可以肯定,如果庙堂里只有被驱逐的那两类人,那末这座庙堂决不会存在,正如只有蔓草就不成其为森林一样。因为,对于这些人来说,只要有机会,人类活动的任何领域都会去干;他们究竟成为工程师、官吏、商人还是科学家,完全取决于环境。现在让我们再来看看那些为天使所宠爱的人吧。

他们大多数是相当怪癖、沉默寡言和孤独的人,但尽管有这些共同特点,实际上他们彼此之间很不一样,不象被赶走的那许多人那样彼此相似。究竟是什么把他们引到这座庙堂里来的呢?这是一个难题,不能笼统地用一句话来回答。首先我同意叔本华(Schopenhauer)所说的,把人们引向艺术和科学的最强烈的动机之一,是要逃避日常生活中令人厌恶的粗俗和使人绝望的沉闷,是要摆脱人们自己反复无常的欲望的桎梏。一个修养有素的人总是渴望逃避个人生活而进入客观知觉和思维的世界;这种愿望好比城市里的人渴望逃避喧嚣拥挤的环境,而到高山上去享受幽静的生活,在那里透过清寂而纯洁的空气,可以自由地眺望,陶醉于那似乎是为永恒而设计的宁静景色。

除了这种消极的动机以外,还有一种积极的动机。人们总想以最适当的方式画出一幅简化的和易领悟的世界图像;于是他就试图用他的这种世界体系(cosmos)来代替经验的世界,并来征服它。这就是画家、诗人、思辨哲学家和自然科学家所做的,他们都按自己的方式去做。各人把世界体系及其构成作为他的感情生活的支点,以便由此找到他在个人经验的狭小范围理所不能找到的宁静和安定。

理论物理学家的世界图像在所有这些可能的图像中占有什么地位呢?它在描述各种关系时要求尽可能达到最高的标准的严格精密性,这样的标准只有用数学语言才能达到。另一方面,物理学家对于他的主题必须极其严格地加以控制:他必须满足于描述我们的经验领域里的最简单事件。企图以理论物理学家所要求的精密性和逻辑上的完备性来重现一切比较复杂的事件,这不是人类智力所能及的。高度的纯粹性、明晰性和确定性要以完整性为代价。但是当人们畏缩而胆怯地不去管一切不可捉摸和比较复杂的东西时,那末能吸引我们去认识自然界的这一渺小部分的究竟又是什么呢?难道这种谨小慎微的努力结果也够得上宇宙理论的美名吗?

我认为,是够得上的;因为,作为理论物理学结构基础的普遍定律,应当对任何自然现象都有效。有了它们,就有可能借助于单纯的演绎得出一切自然过程(包括生命)的描述,也就是说得出关于这些过程的理论,只要这种演绎过程并不太多地超出人类理智能力。因此,物理学家放弃他的世界体系的完整性,倒不是一个什么根本原则性的问题。

物理学家的最高使命是要得到那些普遍的基本定律,由此世界体系就能用单纯的演绎法建立起来。要通向这些定律,没有逻辑的道路,只有通过那种以对经验的共鸣的理解为依据的直觉,才能得到这些定律。由于有这种方法论上的不确定性,人们可以假定,会有许多个同样站得住脚的理论物理体系;这个看法在理论上无疑是正确的。但是,物理学的发展表明,在某一时期,在所有可想到的构造中,总有一个显得别的都高明得多。凡是真正深入研究过这问题的人,都不会否认唯一地决定理论体系的,实际上是现象世界,尽管在现象和它们的理论原理之间并没有逻辑的桥梁;这就是莱布尼兹(Leibnitz)非常中肯地表述过的"先定的和谐"。物理学家往往责备研究认识论者没有给予足够的注意。我认为,几年前马赫和普朗克之间所进行的论战的根源就在于此。

渴望看到这种先定的和谐,是无穷的毅力和耐心的源泉。我们看到,普朗克就是因此而专心致志于这门科学中的最普遍的问题,而不是使自己分心于比较愉快的和容易达到的目标上去。我常常听到同事们试图把他的这种态度归因于非凡的意志力和修养,但我认为这是错误的。促使人们去做这种工作的精神状态是同信仰宗教的人或谈恋爱的人的精神状态相类似的;他们每天的努力并非来自深思熟虑的意向或计划,而是直接来自激情。我们敬爱的普朗克就坐在这里,内心在笑我像孩子一样提着第欧根尼的灯笼闹着玩。我们对他的爱戴不需要作老生常谈的说明。祝愿他对科学的热爱继续照亮他未来的道路,并引导他去解决今天物理学的最重要的问题。这问题是他自己提出来的,并且为了解决这问题他已经做了很多工作。祝他成功地把量子论同电动力学、力学统一于一个单一的逻辑体系里。

Friday, December 04, 2009

在汇款小票丢失以后2

上次写博客是在上周三的时候,周四下午过去,等了四十分钟以后,发现负责这件事情的人没有来.去找大堂经理,一开始她说不在她也没有办法,我就说"我不管你们的谁在不在,我是来找你们银行办事的",然后该大堂经理就带我去找一个比较高级的负责人,李副主任,然后交流下,然后说让我在外面等,等了约40分钟以后,该经理出来说没有找到,让我留个电话回去等.也没有办法了.
这周二的时候,李主任打电话过来说找到了,问我还要不要,我当然说要了,然后就传真给我,这件事情就算arrive milestone了.
其实周四去的时候我还是比较有信心的,无奈那个人不在,然后回来就担心可能对方就把这件事情给忘了,或者是懒得弄了,反正我也忘了拿他们的联系方式,找不了他们.没有想到这人还给我办成了.
下一步的计划就是用这些东西去换收据了.忙啊.
明天应该是生日,周日应该需要同学小聚.

Thursday, December 03, 2009

数据仓库建模_5

Definition  of technical architecture
The technical architecture is the overall plan for what you want the DW/BI system to be when it's ready for serious use .
 It describes the flow of data from the source systems to the decision makers and the transformations and data stores that data goes through along the way. It also specifies the tools, techniques, utilities, and platforms needed to make that flow happen.
We think about metadata as all the information that defines and describes the structures, operations, and contents of the DW/BI system.The DW/BI industry often refers to two main categories of metadata: technical and business.

Technical metadata defines the objects and processes that make up the DW/BI system from a technical perspective. This includes the system metadata that defines the data structures themselves, like tables, fields, data types, indexes, and partitions in the relational engine, and databases, dimensions, measures, and data mining models. In the ETL process, technical metadata defines the sources and targets for a particular task, the transformations (including business rules and data quality screens), and their frequency.
Process metadata describes the results of various operations in the warehouse. In the ETL process, each task logs key data about its execution, such as start time, end time, CPU seconds used, disk reads, disk writes, and rows processed. Similar process metadata is generated when users query the warehouse. This data is initially valuable for troubleshooting the ETL or query process.

Wednesday, December 02, 2009

Note of use delete in kettle

Since in the "delete" the "=" condition  cannot deal with null = null, So if some columns in the comparison are null,the "delete" will be unable to deal with it.


Saturday, November 28, 2009

最可悲的是什么

是你当初喜欢的不染人间烟尘的女子变成了一个菜市场的大妈.

Wednesday, November 25, 2009

在汇款小票丢失以后.

作为一个成年人,遗失汇款小票是一件可耻的事情,但是它发生,总得解决吧.
首先得明确这个汇款小票是无法补开的,但是可以补开一个凭证,其实是一个凭证的复印件.
需要的信息,1,汇款行2,日期(到天就可以了)3,汇款对象的信息,帐号,账户名,开户行4金额5柜员号.
可能对于大家来说柜员号的话是很难得知的,不要紧.如果你记得是那一个窗口,可以找大堂经理查询,如果不记得了也没有关系,可以问当日所有的柜员号信息.(银行内部其实是可以根据对方账户信息查到的,我就是这样查到的,但应该不符合规范)
一,找到这笔业务归属的支行网点,这个可以问大堂经理知道.
二,找到该支行的大堂经理,向他说明情况,他们银行应该是提供这种业务的,然后他会带你去开这个复印件.
三,找到这个人以后,把上面的信息给他,他就可以给查了,但是这个查询是要付费的(我明天才去,还不知道多少钱),如果无法确定是哪一个柜员号,至少把当天的当班的所有柜员号给他,这样可以缩小范围,而且,这种情况下,由于业务量比较大,可能需要说说好话.
这样应该就可以搞定了.
Note,好像现在大堂经理都还比较负责,可能是比较害怕投诉吧.当然最好还是不要撕破脸皮,这样他可以提供规章之外的一些帮助.否则按规章的话是很难办好这件事情的.
尽量让对方多解释,这样的话有时候对方可以提供一些有用的信息,比如我去咨询的时候大堂经理就说如果提供窗口号可以知道是那一个柜员,而窗口是不会变的,这样我们就可以推导出他们是可以提供当天所有的柜员号.
嗯,当然我的例子还只是一个半成功的例子.明天上午或者下午就去执行第三步了.
To be continue.

Sunday, November 22, 2009

H1N1 continue.

Turns out that It was not H1N1 flu but some other respiratory disease. Or
so called bronchitis. Lucky but not most lucky of me .

Sunday, November 15, 2009

H1N1

咳嗽(以前感冒只会流鼻涕),腹泻,头微疼,腹泻过一次.
可能是H1N1了,也可能是回北京风吹得太过,着凉了.郁闷啊.

微软拼音输入法引起的蓝屏问题

key words Windows XP 输入法 无法进入系统 蓝屏 默认输入法 修改 input method blue screen modify 
之前一直用的是Google输入法,Dvorak 键盘布局,昨天有人想用本,装上了微软拼音输入法2003, 并设置为默认输入法,然后出现了无法进入系统的症状,当进入系统的时候winlogon和explorer进程都统统死掉了.安全模式也是一样.然后出现蓝屏00021a hard error.
万幸我还另外装了一个linux系统fedora(之前就已经拯救我于北信源XX网络监视器),搜索了一下,解决方案如下.
安装注册表编辑器chntpw, yum上面有. cd 到%UserProfile%例如C:\Documents and Settings\Administrator下,
chntpw NTUSER.dat
cd Keyboard Layout 
cd Preload
编辑 1 (输入?获得帮助)
改为 00000804 US-en,这个应该没有问题.
退出,现在问题就解决了.
I added a new input method to my Input Method, and set it to be the default input method, terrible thing happened, I can't log into Windows XP any more.It must be some fatal error occurs when the new default input method loads. Luckily I got my Linux OS Fedora.
Following is how the problem is settled.
log in Fedora , install chntpw by yum.
cd to %UserProfile% eg C:\Documents and Settings\Administrator.
chntpw NTUSER.dat
cd Keyboard Layout
cd Preload
'edit' 1 (sorry for forgetting the command,use ? to get help)
change to to 00000804 Us_en.
q
I believe the problem is no longer a pain to you, Wish it helps.

Monday, November 09, 2009

数据仓库建模_4


return on investment (ROI)
net present value (NPV) or internal rate of return (IRR)
The major roles involved in the DW/BI implementation front office, coaches, regular lineup, and special teams

Front Office: Sponsors and Drivers Folks in the front office aren't involved on a daily basis, but they have a significant
influence on the rest of the team.
DW/BI Director/Program Manager


Some team members are assigned to the project full time; others are involved on a
part-time or sporadic basis.

Project managers need strong
organizational and leadership skills to keep everyone involved moving in the same direction.

Business Analyst
The business analyst is responsible for leading the business requirements definition activities and then representing those requirements as the technical architecture,

Metadata Manager


This person is not responsible for inputting all the metadata, but rather is a watchdog to ensure that everyone is contributing their relevant piece,

Special Teams
Technical Architect/Technical Support Specialist Depending on your environment, there may be platform specialists who get involved in early stages of the design to perform resource and capacity planning.

Lead Tester he lead tester develops test methodologies, and confirms that the tests cover the span of the data, processes, and systems.

The DW/BI project needs a detailed, integrated project plan given its complexity, both in terms of tasks and players.


If a single task requires more than two weeks, subtasks should be identified. 我觉得超过1周的都需要.

best project management software package will be worthless unless the time is invested to input and maintain the project plan

tracking the following information for each task
Resources: 
Original estimated effort
Original estimated start date
Original estimated completion date:
Status:
Updated start date
Updated completion date:
Effort to finish:
Late days:
% Completed:
Dependencies:
Also don't forget that ETL development is a classic software development task with five distinct phases: development, unit testing, system testing, acceptance testing, and final rollout with documentation. Inexperienced project managers may focus most of their attention on what turns out to be only the first of the five steps. ETL的测试需要分层级.

Sunday, November 08, 2009

数据仓库建模_3

In reality, scope and justification go hand-in-hand,
划定范围和调整是同时进行的.
Note Project scope should be driven by the business's requirements.
范围是由业务需求决定的.
Each early iteration of your DW/BI program should be limited in scope to
the data resulting from a single business
process.起初的时候不能简单问题复杂化.In other words, start small

Given the lengthy project timeframes associated with complex software
development projects combined with the realities of relatively high rates
of under-delivery, there's
been much interest in the rapid application development movement, often
measured in weeks. 快速开发(通常以周记)


In fact, we suggest that BI team members work in close proximity to the
business so they're readily available and responsive;
开发人员和业务人员更亲近,业务为导向的.

Some development teams have naturally fallen into the trap of creating
analytic or reporting solutions in a vacuum. In most of these situations,
the team worked with a small set of users to extract a limited set of
source data and make it available to solve their unique problems. The
outcome is often a stand-alone data stovepipe that can't be leveraged by
others or worse yet, delivers data that doesn't tie to the organization's
other analytic information.
做分析做成了报表,这不正是我们组现在的问题所在么?因为孤立的获取需求,所以做出来的东西也一个个的孤立了,不能互相使用.


project charter, the document explains the project's focus and motivating
business requirements, objectives, approach,anticipated data and target
users, involved parties and stakeholders, success criteria,assumptions and
risks. It may also be appropriate to explicitly list data and analyses
关注点,需求,客观现状,途径,预计中的数据和目标用户,相关的组织\股东,成功标准(验收标准),前提和风险

P38

Thursday, November 05, 2009

weired way to get return value

I guess shell is always weired. if you run a command in a subroutine in a
script, try return in the command field and then return $? in the
subroutine field. as what following shows .

function isRunnable()
{
typ=$1;
filename=$2;
day_a=$3;
day=${day_a:=''}
cat 'exe_seq_all.dat' | grep "$filename$day$" | while read line
do
arr=($line);
prework=${arr[0]};
if [ ! `grep -c " $prework " 'fin.dat' ` = 0 ]
then
return 0;
fi;
return 1;
done
return $?;

Tuesday, November 03, 2009

recover from rm *

I had a good meal after hard afternoon work. when i came back, I typed rm
* in the cygwin command line. all the work I've done in the afternoon is
gone, Much upset when I learn there is no 'recycle bin' in cygwin.
lucky, after some search on the net , I found this 'File Scavenger' which
help me to restore the *.sh *.dat *.pl *~ from the disk. Thank Que Tek
Consulting.co

Monday, November 02, 2009

note from the data warehouse lifecircle toolkit

Three keys to ensure BI/DW success
1 Strong Senior Business Management Sponsor(s)
2 Compelling Business Motivation
3 Feasibility


DW/BI systems that align with strategic business motivations and
initiatives stand a
good chance of succeeding.

In some sense, any SELECT DISTINCT investigative query on a database
field could be considered data profiling

Thursday, September 24, 2009

Isolation suitable for ETL

The best isolation level for ETL is DIRTY READ, Cauz it wont set any locks on anything , and wont consider lock exists on any anything , as we have a great chance to ETL DATA from a static data base, As a result, It will cost the least and execute in the fastest way.
In informix, the clause is SET ISOLATION TO DIRTY READ.

the following is the isolation performance in ORACLE. 
Read uncommitted is the same as DIRTY READ.

                  Dirty Read     NonRepeatabe Read       Phantom Read 
Read uncommitted  Possible       Possible                Possible
Read committed    not possible   Possible                Possible
Repeatabe read    not possible   not possible            Possible
Seriaizabe        not possible   not possible            not possible

Wednesday, September 16, 2009

change is difficult

I used to confused by the fact people are always not listening, And now I
have exprienced the same things, though it's me that not listening. Why is
that? lack of self-confidence?
Maybe,

Saturday, September 12, 2009

自己在做什么

看到空间里面同学已经在暗自下决心要做hw的对手了.自己在做什么呢?

Tuesday, September 08, 2009

昨夜遭遇

昨天下班回去,一个人乘电梯回房间,先看到电梯从二楼下来.门开了,里面有一个女的,装扮还挺正常,样子也还行,然后很奇怪的没有下电梯(电梯最低1层),我还以为她是要上去,还问她,'要上么?'然后那女的也没有怎么回答,然后我到三楼,她到五楼.然后我就转过身,感觉那个女的一直盯着我看,到二楼了,那女的突然问,你住那个房间.我:'呃~~嗯~~323'.然后那女的又问,是一个人么,可怜我还没有意识到这个女的是干什么的,心中暗感诡异,此时电梯也到三层了,我一边疾出电梯,一边脱口而出,'不是'.走出3,5米远之后我,我突然开始怀疑了.不会吧,我难道碰上了妓女?我已经到了这个年纪了么?会被妓女当成潜在的顾客.悲剧啊,可怜我单身这么多年了.


Thursday, September 03, 2009

cognos sdk dev note

get all the members of an role
the search path is like "expandMembers(CAMID(\"::System Administrators\"))" 
got all the roles under certain namespace "CAMID(\":\")//role"
got the object the querier has read or traverse permission //folder[permission('read') or permission('traverse')]
get all the groups and role a user or set of user belongs to "membership(CAMID(\"dbAuth:u:8888888888\"))"

Wednesday, September 02, 2009

遗失了什么?

郁闷,今天升级opera 10, 把我之前写的一封信的草稿弄没了,虽然一直放在那个地方没有胆敢发出去,但是想要留在那里也许有一天自己回去看.
难道这其实是天意?让我不要纠缠在那里.

Tuesday, September 01, 2009

cognos sdk note

when use the search capability of cmservice in sdk, you can traverse the
name even if you dont have the permission to access that, although you
could not browse it.

The implements of the service interfaces are often ended with 'stub'.

/directory is the path of namespace .

use query(searchPath, properties, sortBy, options)
properties is the enumerator of the properties you want to get.

"execute, read, setPolicy, traverse, write" are the five permission of
NmtokenArrayProp which contain the list of the privaleges.

Monday, August 17, 2009

Cognos SDK log how to set the default type of mdl to verb

When you want to make changes to an existing model, we recommend that you
use verb MDL, but first, you must add the following line to the cogtr.xml
file:
VerbOutput=1

Thursday, August 13, 2009

OH MY GOD

今天无聊..去qq空间去看新闻.看到哥的空间里面更新了相片,一看,oh my god
这个长得这么胖的人谁?他的下巴比头宽....差点认不出来了,难道是伯母的基因遗传给他了.
时间啊,这不过才过去几年而已.已经变化这么大了么?
我只是简简单单的老了罢.

Sunday, August 02, 2009

不想写java代码

看到代码都不想动了.

偶记

昨天到长春啦,第四次还是第五次我已经记不得了.这一次过来是为了上线的时候的工作,应该需要的时间不是很长,一周可以吧.
上次回去的时候其实很高兴,因为又可以见到谁谁谁了,因为又有机会更加接近了.
可是事情就是没有祈愿中的发展,没有办法控制自己,搞得气氛很尴尬.
可能本来就是没有机会的人吧.
昨天看到lie to me 里面说更受欢迎的人在伪装和欺骗上面更有天赋,更懂得如何应付别人,可能自己就把这种应付当回事了....
唉..
然后安徽的项目的确是让某某某去负责了,自己在其中做开发的样子,怨念.
觉得在这个项目组里面已经很能有更快更高的发展了,当然最近的sdk的学习能让自己cognos的技能有很多增强,并不是所有使用cognos的人都有机会去接触使用sdk的.
另外一件值得高兴的事情是18M打电话来谈工作的事情,7.28的事情,也就上周二.但是另一方面,还没有通知我去面试,朋友说正常需要一些时间从电面到当面面试,hope it's true, 否则表示没有通过面试的人的预筛选,多么可悲啊.
有些害怕,自己参加过的面试都是笔试通过了,面试失败,不知道什么原因,是因为表现得没有自信心的样子,或者是不会展示自己?
如果能去18M的话,肯定是职业生涯的一个飞跃,即使工作是做维护兼开发(怀疑是lotus和cognos结合开发),但是会有顶级外企的工作经验.
来长春了,有机会见到孙同学,谁谁谁说需要多些经验...
唉....
也许麦兜响当当可以.之前的两部都还挺好的.
如果去18M不成,意味着要去安徽待3个月.
如果潘同学不合租的话,意味着我要交4K. .....,我挣钱真是太少了.

Sunday, July 26, 2009

cognos sdk dev note

If you use the BI Bus API, you can use optimistic concurrency control to
prevent users from accidentally overwriting each other's changes.
Optimistic concurrency control relies on object versions to detect
conflicting transactions.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Passing Environment Variables to External Applications

You can use a URL to pass environment variables, such as content locale,
to external applications. For example, if a user clicks a link that drills
through to an external application, the content locale environment
variable can be passed through the URL so that the language the user sees
in the report is the same as the language the user sees in the application.

The mandatory building blocks for a URL that passes environment variables
to an external application are as follows:

b_action=xts.run&m=portal/bridge.xts, parameters required to pass the
values of the environment variables

&c_cmd=<command>, to specify the URL-encoded application command to be
executed.

This URL can include application variables, other than environment
variables, to pass to the external application.

&c_env=<variables.xml>, to specify the location of the XML file that
identifies the environmental variables to be passed.

This file must be located under the templates folder in templates/ps.

&c_mode=<get_or_post>, to specify whether to use the get or post request
method when calling the external application.

When you use the post request method, the HTML page created is UTF-8
encoded. When you use the get request method, the values of the variables
are UTF-8 encoded.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

After you create your extended applications, you register them in the
applications index and then deploy the Cognos Extended Applications
portlet to your portal. In addition to the .jar files required to run a
Cognos 8 SDK application, the Cognos Extended Applications portlet must be
deployed with the following files:

The Java standard tag library (JSTL) files jstl.jar and standard.jar. By
default, these files are installed in the
installation_location/Cognos/c8/webapps/samples/WEB-INF/lib directory.

The CPS tag library file cps-sdk-jsptags.jar. By default, this file is
installed in the
installation_location/Cognos/c8/webapps/samples/WEB-INF/lib directory.

The CPS tag library descriptor file cps.tld. By default, this file is
installed in the
installation_location/Cognos/c8/webapps/samples/WEB-INF/tld directory.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Wednesday, July 15, 2009

cognos sdk study note

MDL represents Transformer models in text format and you can view the text
in any text editor. The .py? file is a representation of the model, stored
in default binary format.

You can use MDL in two ways:
to create an MDL model that completely defines a Transformer model
to create an MDL script that manipulates or updates an existing
Transformer model

ach Transformer model must have at least one model object. The model may
also contain one or more of each of the following object types:

Data Source
PowerCube
Cognos Source (a Cognos 8 package)
PowerCubeGroup
Column
PowerCubeGroupCube
Dimension
Subdimension
Level
Signon
Root Category
View
Drill Category
Custom View
Regular Category
Currency Table
Special Category
Currency
Measure
Dimension Calculation Definition

Automate CleanHouse Sample

This script uses the MDL verb CleanHouse, which is equivalent to selecting
the Clean House command on the Tools menu of the Windows interface,
followed by a date in the format YYYYMMDD. This command removes all
categories with a Last Use date less than the specified date.

Tip: To remove all categories in the model, specify a future date.

This script removes all categories in the Products dimension that have a
Last Use date prior to November 1, 2006, and saves the model.
OpenPy "model.pyj"
CleanHouse Dimension "Product" 20061101 SaveMDL "model.mdl"

life sucks......................................

Tuesday, July 14, 2009

transformer documents notes

The Transformer 8.3 executable name is now cogtr.exe on Windows, and cogtr
on UNIX/Linux.

Scale
Decimal values are read into the model based on a scale that you
specify.

You apply security to an entire PowerCube or cube group by setting a
password to restrict access to authorized users.
cogtr.xml seems to be useful.
You can invoke Transformer from the command line to populate models,
create cubes, and perform other actions. How and where these actions are
performed is determined by information that you provide.
Command Line Options

Transformer can perform certain modeling and cube-building tasks from the
Windows, UNIX or Linux command line.

Note: You must invoke the command line utilities from the directory where
the Transformer executable resides. In Transformer 8.3, this is the bin
directory.

This document provides the syntax for the following routine tasks:

creating or updating cubes

updating a model with new categories created during the category
generation process

running a set of batch jobs with different preference settings or input
files

changing the current date setting so that relative time calculations in
batch cube creation are based on a specific date

supplying database signon information

changing the degree of detail for log file messages

opening and deleting checkpoint files

verifying and, if necessary, updating the scales used in MDL model columns
and measures to match those used in the data source

publishing cubes in Content Manager

supporting Cognos 8 prompts

opening specified .mdl files and executing MDL statements

specifying the number of records for a test cube

regenerating categories, and the measure scales used with them, without
building the cube

Sunday, July 12, 2009

Cognos sdk dev log

An action is a request made to the FM Engine. Actions are XML elements
that contain input parameters. Some actions also have output parameters.
Actions are defined in the CR1Behaviors.xml file, available in the
<c8-location>\templates\bmt\Cr1Model directory.
Some actions do not change the state of the model in the Framework Manager
application and are not typically recorded in the action logs. An example
of actions that are not recorded are DBBrowse and Publish. There are also
some actions that are recorded but they do not change the state of the
model. An example of this type of action is DBRelease.

Modifying the Log Status of Actions
You can modify the log status of an action to determine whether or not you
want it to appear in the action logs.

Using the Framework Manager SDK

You can use the Framework Manager SDK to perform all the same metadata
modeling tasks and processes as the Framework Manager application. For
example, you can

import a data source

enhance query subjects with SQL, expressions and filters

create model query subjects to extend value of data source query subjects

create a basic package

publish a package to report authors

cognos SDK学习 手记

The Model Schema

The Model schema validates the model.xml file, the xml representation of
the model. The Model Schema reference contains information about the
elements and attributes in the model.xml file.

The Framework Manager application records all the actions you do that
modify the metadata model. These actions are recorded in action logs.
Action logs are XML files that you can re-use and re-run in the Framework
Manager application. You can use these Framework Manager action logs as
examples to help you create your own action logs for the SDK.

Friday, July 10, 2009

cognos sdk 开发手记

Cognos 8 is a solution designed to address the challenges of
enterprise-scale reporting, analysis, scorecarding, and event notification.

The Cognos 8 architecture is based on a typical three-tiered Web
architecture that consists of
*a Web server
The Cognos 8 Web server tier contains one or more Cognos 8 gateways.
*applications
The Cognos 8 applications tier contains one or more Cognos 8 servers. A
Cognos 8 server runs requests, such as reports, analyses, and queries,
that are forwarded by a gateway.
*data
The Cognos 8 data tier consists of the content store, data sources, and
the metric store.

Service-Oriented Architecture

Developers can use a collection of cross-platform Web services, libraries,
and programming interfaces provided with the SDK API to access the full
functionality of Framework Manager. You can use the Framework Manager SDK
to model metadata and publish packages without the use of the Framework
Manager application.

Script Player is a command line utility that runs previously created
action logs to create or modify models, or to publish packages for report
authors. Script Player can run an entire action log or only the part that
is required for a specific task.

Virtually everything you can do with the Cognos 8 graphical user
interface, you can do using the appropriate API, XML file, or command line
utility.

You can manage authorization in Cognos 8 in the following ways:

You can modify users, groups, and roles as defined by your authentication
provider or in Cognos 8. You cannot create users in Cognos 8.

You can control access to objects in the content store, such as folders,
reports, data sources, and configuration objects through the use of
policies.

You can grant capabilities to users, groups, and roles to control access
to specific functionality in Cognos 8.

You can assign access permissions to certain profiles, limiting Report
Studio functionality to specific users, groups, and roles. For more
information about managing profiles,

Running an Object Using the Schedule


The URLs provide a quick and efficient way to start Cognos 8 components
and open specified content, such as reports, metrics, folders, or pages.

You can use the URLs to

start Cognos 8 components

access a Cognos Connection page

You create an extended application by using the CreateURI, URIParameter,
Cognos8Connect, and EncodeNamespace tags in a JSP document.

Wednesday, June 10, 2009

搬家 >_<

旧房子6.9到期了,算算租了近半年.其中住了2,3个月......(出差真烦),时间到了,房价也要涨回来了.so,找房子.
星期四,心情沮丧,强迫自己不去某个地方,只是为了表示自己不是那么push.然后在路边看到有房屋出租的信息,1200单间,正好符合自己的标准,于是开始看房子.
两间,1200的那个卫生间和之前的那个差不多,pass.另外一个便宜,但是小,pass.
然后就上赶集去看房子啦,两居,1000-1500,牡丹园,打了N多电话,打到信息发布到了5月的了,被喊tooold了.
周末正式开始看房子,一个1400的,房子还行,还算大,没有租过的样子,挺干净,砍价到1350免中介然后去看另外的,虽然只要1000,虽然在二环三环间,但是房间小,比号称的15平缩水一半.
晚上被同住的告知不愿花那么多钱住那么差的地方,郁闷.....
星期六开始找一个人住的地方,看第一个,750,东西挺好,房间只有4平.....缩水一半.恨.
看另外一个键翔园.800一月,隔断,小室内加阳台.感觉还行.同时被告知说还是合租吧.发现该中介还不错,记下了电话,请他吃饭,发现以前做过五星宾馆的门童....
星期一定房子,同住的找的牡丹园的被定了.只好找我找的那个,虽然他们很反复.虽然很混帐,但是需要在9号前找到地方,没有办法.发现房子里面多了个隔断,愤怒,但是被30S告知已经交了定金了就不要妄想降价下来了.
星期二开始,同时被告知需要出差了.想要请人看电影,发现票买不到.恨.然后房子里东西还没有准备好,恨.只好在之前的房间住一个晚上.十点的时候出去看望千里迢迢来北京的张同学.
今天退以前的房子,交接新房子,出差.....
要是有10K的月收入,就可以去租个2500的房子了,也不用弄得这么麻烦了.

Sunday, June 07, 2009

我好bt啊.

在网上偷偷的看别人的痕迹.
每打开一个网页都自我感叹一下自己的bt.

Sunday, May 31, 2009

今天她还没有回我的短信

是我太push了么?有时候会想为什么总是要折磨自己,这个是自己选择的么?

Sunday, May 24, 2009

.

曾经年少的时候想一个人其实也没有什么.但是总是会遇见喜欢的女子.想要做些什么,总是会想很多,很多次,不是想很多东西.如果我是一个有趣的人的话也可以想很多东西出来.别人在评价的时候总是说一个好男人,一个好女人应该具有哪些品质,可是经常他们都忽略了一个重要的点,就是一定要有趣.在古龙的小说里面英雄相逢,或者说江湖人相逢的时候,可以不顾道德,不顾喜好,却常常说'有趣',然后两个人开始喝酒,或许会成为生死之交.所以一个人要是无趣,那他的品行再好,也不过是庙堂之上漂亮的塑像而已. 自己似乎就是这样的一种人.
年少的时候会幻想有种种途径来让自己与天地同寿,终究还是从幻梦中醒过来, 人难免还是要有湮灭的时候,所以就会不再想人生应该如何延长,而是开始想人生如何有意义,然后开始想人生是有意义的么?如果有,那么这个终极意义是什么呢?这是一个被所有有过思想的人所思考过的问题.没有答案,即使有,一个人常常只能被自己的答案所说服.我能找到自己的答案吗?
不过现在明白了,人类不过一种渺小的生物,每个一个独立的人既然是它的一个个体,必然承载了它的缺陷,即他是存在于这个物质世界,是具有能量的,然而也正是这一点,才有了人类的存在,所以说存在本身并不是根本性的,是没有必然性的.所有词句的意义都在于对于主题即对象的描述,既然没有了主体,所以用于描述的,即意义是不存在的.
既然认为人生是没有意义的,那么任何一种行为都是没有意义.对现在的我来说,生活不是无厘头,必然要找到一个意义去吸引我,去驱使我去行动.
当然还是会有行动的时候,人还是会存有感性的时候,对于陌生人的赞美,对于熟悉的人的斥责都会有或喜或悲的反应.总会对物事人有喜好有厌弃.....
有时候简单的执着是没有用的,就像一个傻子一遍遍的用一根棍子在河里网鱼,是不可能有成果的....
虽然自己明白这一点,但是自己是如此的一个无聊人,又有什么办法可以改变呢?
所以会听到莫文蔚在真的吗里面唱I miss you I miss you I miss baby everyday,...I love you I love you I love you baby everyday的时候,真的是眼泪都要流下来了.

Wednesday, April 22, 2009

Visited the First Auto Work@china

昨天就隐隐约约听到说今天要去参加与汽车相关的活动.今天得知是去一汽参观.倒是有一点吃惊.
车程大概约20-30分钟,然后在一汽的一位同志带领下,参观了一汽的某装配车间.No
photo.
主要参观的是Audi的装配线.也就是从各个零部件装配成整车的流水线.整个装配线共有86个步骤,装配线长度约500米,当然没有算上转弯的部分.每个工序约3分钟时间,需要1-4个工人的工作.整个装配线装配需时约四个小时,整个装配线现在的出货量约是420量,设计年产量为200,000辆/年.
装配工作首先由车身开始,由后到前,由内到外,由上至下.车后盖->内部线->前部->玻璃窗->加上底盘->装上车窗.整个过程主要是手工完成,使用的机器人极少.其中观察到几个有趣的现象,工人师傅用较有韧性的纸条检测后盖的紧密程度,用一个小方块检测车顶的平整?弯曲程度.感觉真是简单而使用的小技巧.装配线上的工人大多都是年轻的小伙子,女性和年纪大的不是很容易见到.另外会同时有不同颜色的同一型号的车从同一装配线下来.
嗯,基本上就是这些.整个车间还是很洁净,声音也不大.不知道是因为生产线是德国生产的原因,车间内挂的标语,警示都有德语标识.
总之,参观完了,感到比较单调,没有什么特别的冲击力,回来的时候看到新中国第一辆解放牌卡车纪念碑,真是让人感叹啊.

Friday, April 10, 2009

老了么?

试了大航海时代,diablo2, 信长之野望,似乎对游戏没有兴趣了?

Wednesday, April 08, 2009

开始使用linux

其实之前一直没有激励使用linux,最近学了点perl,觉得使用linux的话比较原生态,功能更加强大。正好自己也有了新的笔记本,就装了fedora。
另外提一点就是现在的笔记本好多都是直接提供的vista,感觉特别麻烦,联想的XP的SATA驱动又不好用,勉强装了用着。
选择的是发fedora10的版本。
装好后首先 将用户加到sudoers里面,然后就 yum update了。
然后装了opera,python输入法,然后就来写这个了。
发现可以用linux下面的rdesktop远程登陆,感觉很好用阿。
不过linux还是会有莫名其妙的问题,字符编码也永远是问题。
其它的还好,用得挺习惯的,键盘布局这个挺爽,这样就不用每换一个输入法就设置一个键盘布局了。dvorak也很简单实现了。

Saturday, January 03, 2009

2008总结

1月,大四上结束,没有参加马拉松.
2月,回家.
3月-4月,做毕业设计的项目.
4月-5月,去广州找工作并继续做项目.
6月-7月,毕业+换工作.
7月-12月,开始职业生涯.

Sunday, August 31, 2008

Sunday, August 24, 2008

how to use svn in eclipes

the orginal post is @ http://blog.punchbarrel.com/2008/06/30/using-the-new-subversion-integration-in-eclipse-ganymede/
Using the new subversion integration in Eclipse Ganymede

Like many other developers I was keen to try out the recent Eclipse Ganymede release. In particular I wanted to try the new subversion integration (”subversive”) to see if it is any better than the old (”subclipse”) plugin I used to use with Europa.

Getting the new subversion working was surprisingly tricky. Obvious choices simply do not work, and the error messages do not give quite enough information to solve the problem. Add to this that some of the names of locations and updates can easily be misconstrued and you have a recipe for confusion.

For example, the error message presented if you try to use the subversive plugin without installing any third-party connectors is the only-partially-helpful:
SVN: ‘0×00400006: Validate Repository Location’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.
Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.

I think the Eclipse folks have potentially missed something important here - checking out a project or three from subversion is almost always the way I start when I want to evaluate an IDE.

Anyway, here are a set of steps which should result in a working Eclipse Ganymede with the new subversion:

Get the basic subversion integration plugin from the eclipse download site
Select Help::Software Updates from the menu bar
Unfold Ganymede::Collaboration Tools
Select SVN Team Provider (Incubation)
Click install… and follow the instructions, including a restart of Eclipse

Resist the temptation to try and use the plugin at this point. It won’t work and you will get the above confusing message about connectors.

Get the third party SVN connectors from a different update site
Select Help::Software Updates from the menu bar
Click Add Site…
Enter http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ and Click OK
Unfold the new site :: Subversive SVN Connectors
Select appropriate connectors. In my case I selected Subversive SVN Connectors, SVNKit 1.1.7, and SVNKit 1.2.0
Click install… and follow the instructions, including a restart of Eclipse

You should now be able to either Window::Show View::Other…::SVN Repositories or Window::Open Perspective::Other…::SVN Repository Exploring and add repositories to your hearts’s content.

Please let me know if your process differs from this, or if you have any corrections or suggestions.

Wednesday, August 06, 2008

唉唉

感觉总是被欺骗.
执着的付出总是会带来痛苦的.是要痛苦并爱着么?

Monday, July 28, 2008

netterm input dumplication problem
option set desktop local echo
set it to fault

Sunday, July 20, 2008

cognos data source add problem

I met this problem unable to locate the gateway cogudaif
it was sovled when i add the path of cognos bin to the system envirment path.

Saturday, June 28, 2008

ee

如果你觉得全世界都对不起你的时候,觉得大家都对你不好的时候,请注意,这个应该是自己理解的缘故。

Sunday, June 08, 2008

今天要做的事情

马上去吃饭,然后回来做毕业论文,做PPT,恩,还是改成MIS相关一点好了,要不然和筒子们的不一样,上去讲的时候就丢人了,流程图两张,架构图也改一张好了。
北京去不成了,去了又能做什么呢。
茫然无依中。

Tuesday, March 04, 2008

有感觉了

想做点事情了

Sunday, November 18, 2007

block started by symbol

其缩写是BSS,因为未初始化的变量没有对应的值,所以并不需要存放在可执行对象中,但是因为C标准强制规定未初始化的的全局变量要被赋予特殊的默认值(基本是0值),所以内核要将变量(未赋值的)从可执行代码载入到内存中,然后将零页映射到该片内存上,于是这些未初始化变量就被赋予零值,这样做避免了在目标文件中显示的进行初始化,减少空间浪费.

Monday, September 17, 2007

成长的痛苦

昨天晚上做了一个梦,梦见R到我家去玩,我觉得很高兴,然后当时在梦里还觉得什么事情不对劲,想想又没有.
可能是长大了以后已经不能象以前一样毫无顾忌,不像以前一样毫无私心.以前还想来着,自己不是一个虚伪的人,现在看看完全不是那回事,比很多人都要更过分吧.
一次一次的后悔,可是长大了还有人轻易的原谅你么?一面心里祈望着有好朋友可以倾述心事,一面在认识其他人的时候,接触其他人的时候用自视甚高的姿态.
明明自己没有什么资本,还义无反顾的目空一切.
自己常常想自己是不卑不亢的,真的是这样么?
迷惘啊~
如果自己有真正的目标,是不是应该愿意为了这个目标放弃一切?
畏首畏尾~患得患失.

Monday, August 20, 2007

堕落成这个样子

其实自己一直最喜欢的不过是超越的感觉而已
曾经自己会把晚餐的唯一一块肉留到最后吃
曾经会在暑假一开始的三天就把作业做掉
曾经自己没有事情的时候会拿起习题就做
现在自己却懒成这个样子
在新的电视剧集和作业之间一定会选择先看电视剧
事情一定会拖到最后做,东西一定会超过deadline.
每天在学校里走过,看着周围的人和事物,好像从来没有自己属于其中的感觉.
难道就是行尸走肉
想来做自我介绍的时候,说不出来自己有什么爱好,有什么特长是多么悲哀的事情.
这两天在想一个人的成熟,是不是就是一个人低下头的时候.
其实不是,是一个人对自己的目标开始勇敢的最求的时候,是为了自己的目标付出一切的时候,是一个人可以说,I'll do it 的时候.
当一个人什么都没有做的时候,开始讨论过程更美丽还是结果更重要是一件荒谬的事情.
必须承认,小时候的环境抹杀了我的个性,家里的贫困只是某个源头,父亲的疾病,让我失去了学习男人彪悍的最重要的来源,幼稚的母亲,或者说Simple吧,小时候的女老师,女同学的强势,教育方式的落后和内容的单一,信息的匮乏,无一不让自己的个性的发展遭到遏制.
我不是一个天生羸弱的人,

世界是绚丽的

如果总是保持这种无所作为的态度,人生是会就这样灰暗下去的.
悲观主义的缺点在于,即使自以为乐观的思考的时候也是会以悲观为前提的.
也许一个人的成熟就在于低头和抬头吧,

Tuesday, July 17, 2007

血色浪漫

看完了血色浪漫,感觉还不错,不像一般的国产电视剧,说起来,国内还是有一班不错的电视剧制造者,之前的<玉观音>还挺不错的,就算没有深刻的内涵,呵呵,谁说生活就不深刻了呢?
说实话,一开始,我是冲着这片据说有讲述文革的内容,不过没想到和虽然主人公在文革时期正是青春热血的时候,这片还是不敢涉足敏感地带,呵呵.
这部电视剧是围绕着<钟跃民>展开的,这可是个能人,顽主出身,不光是能说会道,不用说高瞻远瞩,特会过人生了.虽然说人生没有一个具体的固定目标,但是明白他追求的是什么样的生活,是个天不怕地不怕的主.
一个人如果明白他要什么,不容易,一个人要能向他想要的努力,也难,但是这两点钟跃民都能做到,更何况,不仅仅是做到而已,还有智慧,按照传统观点来讲,他的智慧不是什么大智慧,但也不能说小聪明.还是相当有能耐的人.
这个人有个性,很皮,(贫),可是他的内心深处有着一颗赤子之心,他爱惜自己,也爱惜别人,这已经不能用简单的义气来说了,在他眼里(或者是从那个法制不健全的时代过来的人?或者说是整个中华民族的历史上都是这样?),所谓制度,那从来就只是一条条的羁绊.只要是人在,又有什么能框住呢?

也许这算是一部成人的电视剧,在前面的某集里面,因为立场不同,钟跃民和李奎勇要决裂的,虽然当面的时候两个人说的毅然决然,可是到了背面,还是拼命的要维护对方.
突然想到一个名词,用在他身上也许很是,"游侠"
看得不是很认真,剧情都忘了些.
三个女人,周晓白,秦岭,高玥,评论下,感觉周晓白最彪悍,秦岭最理智,高玥么,比较放得开,也放不下,可是舍得(愿意和一个陌生人一起卖烧饼,相比之下周晓白就放不下,当然这里面也有各方面的因素在里面,高玥的家庭简单,环境也单一,周晓白就不一样了).从钟跃民方面来讲,周晓白最亏欠,秦岭最爱(这是一种高度,可能也像她说的正好在他爱上信天游的时候出现了,可不管怎么说,两个人对艺术,生活的理解是类似的,这也说明的他们是不可能在一起的),高玥,算是最适合钟跃民的人了,能应对钟跃民的贫,还能死心塌地的跟着,还不傻,还有能耐,还深情,更何况,她比钟跃民年轻十年,可以等.有人说他终归是要回归主流的,什么是主流,俗就是,养家糊口,生儿育女.所以她还是有机会的.而且她也有等的机会,周晓白就不行,家庭,阶层在那儿摆着.秦岭,唉,她原本也是有可能的,但是没有机会,没有够能力.也太过理智.这从离开省歌舞团的时候的表演能看出来.对于钟跃民来说,她太强悍了.两个太有主见的人在一起的好处就是分开的时候不用黏糊.
公平的讲,这片的前面部分还是不错的,但是后面就不行了,也或许是那种快意恩仇的生活方式和现在这个社会不一致了.钟跃民他们如果就电视样表现的来看,算是没落了,呵呵.快意恩仇是要有本钱的,(虽然认为这在现实生活中是不可能的).
宁伟相关剧情纯属拖沓,虽然可以吸引部分眼球,可是整个篇的质量就下降了.
很搞笑的就是GL那段,完全胡造.
黎援朝混得那么烂,太丢脸了,居然50万都不能拿出来来保人.
算了,上面这句评论就收回,明显作者没想把笔墨放在这上面.
没想到的是拖了这么久,都搞到90年代了还演这么久.
演员,刘烨还不错,演海洋的就太锉了,孙俪也还行,演秦岭的实在不咋样,实在让我怀疑那歌是她自己唱的(我还真想听听破锣嗓子唱的信天游,感觉这剧里面的还是太华丽的).
还不错,75%完美吧.要在国内排出90%的都很困难吧.
算了,就写到这儿吧,关于钟跃民个人的人生下次有机会了再分析.
ps ,这次博客写了挺久的,只怕有半个多小时,休息吧.

Thursday, June 28, 2007

powerDesigner下载

http://download.sybase.com/eval/PowerDesigner/powerdesigner121_eval.exe

Wednesday, June 27, 2007

心情小笺

很久没有记录的样子,是因为自己已经习惯了这种没有自我的生活了么?
感觉自己很废,心里这样想,又会想自己很多人强.
记录下最近的情况吧.
刚刚第二学期过去,考试成绩不行,学到下半学期的时候明显的心不在焉了.
越来越盲目,越来越迷糊.
其实自己是喜欢成功的感觉,喜欢超越别人的感觉.
很少真心的说过自己后悔来到厦大软件,如果~`如果当年能够多考几分,就可以成功的考入生物系了吧,也不会像现在一样腐烂在软件.
软件的废在于~老师没经验,来上课的一半不能被称之为老师,因为不要说教导做人的道理,学习的方法,正确的世界人生观,能不能上好课都是问题.到目前为止觉得最好的老师是选修课的老师,博弈论的于艳萍老师,管理学的孙建国老师.
说起来以为自己已经不记得孙老师的名字,模糊想了下,居然就是了.看来我的潜意识还是很强的.
记得最清楚的一句话是"它这个是很厉害的",举得最多的是生产缝衣针的例子.
博弈论的囚徒困境和智猪博弈,最复杂的是海盗的分金币问题.
其实钟春平的课还是不错的.为什么当时就考18分,这使人惊奇.自己太软弱了.
人品最差的应该交数据结构的陈XX,虽然是不经意的,但是随口的一个笑话充分的说明他的素质的低下,不过此人的素质是如此之低,再加上能力是在不怎样(严重怀疑是有后台才能来厦大),只能待在漳州糊弄小孩子.
算了,这个还是以后再写吧,这么说现在参人的视角还是很狭隘.
有人说,奋斗和人所处的位置是没有联系的.
不说了~
不明白Y这人,从平时见到的时候看来不会做这种事情,但是忽略自己的短信很多次.不明白.
也许这是一样对峙的游戏,谁先说出来谁就输掉game吧.(好像很暧昧,但是自己还是明白自己的心态的).
sigh

Tuesday, June 12, 2007

gre sentence

abandon : Microsoft to abandon standalone IE.
abash: Meaning of abash to destroy the self-possession.
abate: Did he abate this crime by his action?
abbreviate: You can abbreviate his name bu L.J.
abdicate: The old king abdicate, and his son powered up.
aberrant: This is rather a aberrant elephant.
aberration:

Sunday, June 03, 2007

考试时间

前天考完软件平台,明天考多媒体,
感觉软件平台还是不难,自己的彻夜复习是有效果的.
还以为多媒体是随堂考,没想到居然是明天早上,可是现在又想睡觉了,恨恨~~~
应该不难,讲考点的时候自己都有概念,只怕如果问答题太多记不起来就完了.

Wednesday, May 16, 2007

糟糕的心情

首先是想要早上七点起来,结果到了七点闹钟一关继续睡觉,到了9点40起床,赶紧去上课,结果被告知上节课点名了,然后汇编的部分无法理解.实验的那个虽然讲了些东西,可是完全不清楚.下午多媒体实验课,中午醒来又是两点半了,心想实验课可以在宿舍做或者晚上去实验室做都可以.然后第二次醒来就是4点了,想想还是有时间去测体育的,然后一圈回来5点半到实验室了,做实验,想做个20thfox的标志出来,失败,直到10点还没有作出来,(ADOBE的东西相比真的是好用).回来想起还要给别人找东西,网上去搜,花了若干分钟搞定,可是实际上没有自己喜欢的地方的图片,然后看到IBM的名单,明显是权力在里面作祟,强的人虽然也有,可是弱的人明显也有.叹,到现在就是汇编的实验题目还是没有搞定,恨~~~

Saturday, May 12, 2007

第三学期想做的事情

想学好英语,然后去考GRE,写超多的代码~~恩

随记

今天突然听到妈妈说知道我换了'电脑',实在是让我吃惊,我不知道姐是revenge还是怎么样,这是个教训,虽然说亲戚怎样怎样,我实在是不能不想到会为了这个说钱的事情,更何况会觉得舅舅有偏向我这样的想法,毫无疑问的是这件事情会传到他的耳朵里去,虽然部分是事实(换了个液晶显示器),可是到时候会被讲成什么样子是无法预测的.sigh
借钱的事情会让自己陷入困境,唉~~
有时候想血浓于水的是不是存在呢,亲戚间可以有多亲密?

Friday, May 11, 2007

关于思考

感觉自己已经变了,不知道这个变化是什么时候开始的,可是当自己的控制力越来越差,越来越喜欢先做容易的事情,或者说越来越喜欢做容易的时候,我已经不是那个把煎鸡蛋留到最后吃的小孩了.
可能是大学过来了太过于容易的生活吧,生于忧患,死于安乐,当一个人不用担心自己的生存问题的时候,堕落是不可避免的.
习惯了有人督促的学习方式,虽然有时成功的喜悦让自己感觉甜蜜,常常的行为是陶醉在其中,没有成为接下来学习的动力.另外就是失败的时候总是能看开,当某些特殊情况的时候,这个是必要的,可是到了每次都这样的时候,就成了一种很恐怖的事情.
sigh~~

智力问题

常常觉得自己变笨了,昨天发现这种担忧是有根据的,好像思考什么事情都会在脑子里用念一样,当思维的速率被语言的速率所限制的时候,智力的下降是肯定的.
不能确定这个是什么原因,不过很有可能是在过来后,使用普通话的结果,由于太过于担心发音的问题,说什么话都要在心里想.用英语的时候也有同样的问题.另外一个原因可能就是平时看片太多,思考太少,看片的时候都听到台词,会一直注意的吧,思考这种事情,在现在的学习过程中,越来越注意的是记忆问题,当死记硬背成为主题的时候,思考又企会被注意呢?

Saturday, May 05, 2007

蝴蝶谷游记

一开始的原因是蝴蝶谷的名字,好像某个侠女居住的地方.很奇怪的是我一开始都没有想过会在那里见过很多蝴蝶,可能是因为看到帖子的时候都没有人提到蝴蝶的缘故.好了,五一节来的时候决定不能老是这样待在宿舍,应该出去走走,就决定要去蝴蝶谷了,但是很明显一个人去是不现实的.所以在任何计划都还没有付诸实施的时候就先邀请了人,首先邀请到的是Y,挺想做比较好的朋友,然后正好有个机会就邀请了.事实证明这个邀请是不恰当的,可是自己也没有很在意吧.要是要找女朋友的话肯定会考虑清楚.既然邀请了别人就不是一个人的事情了,过了两天就到BBS上发了帖子,邀请其它的同学,顺便叫了张.在网上搜索了若干有关信息以后,发现实在是不适合一个娇弱的女孩子前去,心里便有了踌躇,可是自己又不可能在人家不去了吧~~,所以是个大的失策.一路上过来,有七八个人报名吧,和一开始在帖子说的3-5人差很多,不顾都还好,后来证明七个人正好.
可能是一开始的准备工作就没有做好,半路上有不少人退出,原以为后备的两人也五一的时候去过了,还好她的舍友拉来了几个人.
在那天晚上的时候Y打电话来说不去了,其实我也松了口气.
第二天早上我还正睡得沉,突然电话来了,然后想起来今天要去蝴蝶谷,顿时昏厥,自己组织的还差点忘了~~.
然后就7点半从大门出去,到名仕去等车.同时猜想昨天晚上才拉来的人的样子.结果还好,一般的感觉.
一开始就不对劲,公交车等了15分钟了,连个影子都没有见到.肯定是有这班车了,心中暗想不会是前两天公交改制的时候改掉了吧,赶紧打电话,厦门公交的效率也忒低了,连打三个电话才找到正主儿,结果果然被改掉了,然后去胡里山坐106,心想如果是启始站可能是从车站里出来,结果正问警察同志呢,一辆106就从旁边开过去了,多等十分钟~~~.-_-.
一上车赶紧确认去吴厝的车,结果售票的大嫂居然不清楚,心说不能啊,要这样就完了,第一辆车就没有搞定,这组织者肯定是被人看低了.赶紧打114,结果被告知在那里下也不用问了,早上就7点和9点各一班,昏厥,只好去坐小巴~~,据说价格相差数倍,这样以来和自己的预算肯定就差很远了.
好,到了小西门,N多小巴,还好有女生同行,讲价,上车.
路上有看到一只白鹭,心想,算特别吗?不特别吗?
抵达荏畲村尾,正好碰见同去的人,然后发现他们比我们多砍掉6块钱~~
由于昨日下了雨,所以整个山看上去很新鲜,泛着绿光~~
尚未看见第一个瀑布,张同学抓到一个小龟,发现两只水蛇.心想这还真自然,要是待会儿碰到一只大的毒蛇就完了.
从沟渠到第一个瀑布,路还挺坎坷的,心想要是Y同学来了的话,不知道能不能过呢.
补充能量,计划走第一条线路,趁同行的都还在观赏风景,和张同学一起到第二条线路去勘探,在第一个瀑布顶的时候,是自己太害怕还是小心谨慎,不敢探出头去看.看到第二个瀑布,正准备返回去走第一条线路的时候,发现她们都跟着上来了,然后张同学诱惑之,我恐吓之,最终的结果是路途的艰险敌不过风景的优美和探险的乐趣.然后想要是待会上不去的话,我这个队长就麻烦了.
结果还好,虽然要有淑女的矜持,而且难度比我想像还要高,还是能够爬上去.
经过第二个瀑布,第三个瀑布,明显都比第一个小,接下来该到第四个瀑布了,此时,前行的两位从第三个瀑布的左侧上去了,虽然我认为应该从瀑布的右边上去,但是一想这里应该不可能还有其它路,不曾想就此误入歧途了,后来一直后悔应该坚持己见的.
然后就是无尽的爬山,搞到后来我都有些害怕了,这样虽然人多,但是毫无目的的.
还好最后还是冲出了丛林,然后到小马家吃饭,然后回同安,这时已经快六点了,又去吃饭,印象最好的应该就是去吃粥的时候吧,真的是又便宜有好吃.
然后回宿舍,10点,11点洗澡,下了最近的bleach和one piece来看,两点多了,睡觉.
为什么,总是心不在焉~~,做什么都没有兴趣,就算是途中会有痛快的感觉,到头来还是会很快就忘掉...
sigh........

Tuesday, May 01, 2007