Jul 5, 2009

快乐SAS

3月30开始了在ebay的实习,之后一直纠缠在考试论文和实习中,博客也从此凉在了一边。据说四个月能养成一个好习惯,以后每周两篇日志将成为我的日常任务。

这两周考试基本搞定,一下子轻松了好多。除了学校施工的噪音和常有的一点点困惑,木得连烦心事都没有。开开心心得写程序学统计。地铁里见人玩俄罗斯方块,想想现在这生活也是差不多。不断有各种各样的task下来等着你处理,学习、生活、工作、爱情、未来。要顺顺利利地把它们搁到合适的地方。只要心不乱,并没有什么难的。

周末还是在图书馆过,暑期依然坐满了人。明天又是周一,继续学习、工作,平静而踏实的生活。还是会把大部分时间放在SAS上,技术上争取有个好的基础吧~读研已经一年,有那么点紧迫感。ebay给我最大的福利就是身边那些pro,热爱生活,乐于助人的同事。感谢他们并向他们学习。

下面这篇文章蛮经典,被引用了好多次,大致可以看出哪些是SAS的基本功。其中我学的不好的地方也就是这个假期的努力方向。但SAS毕竟是个分析软件,统计思维远比技术重要。下面的文章只是focus on SAS base, but if you can't know well about the tools, you can't do analysis well.



10 Things Experienced SAS® Programmers Don’t Know – But Should

Doug Zirbel, Pinnacle Solutions Inc., Indianapolis, IN



1. Macros - basic knowledge of macro language (Score=63/180)


Learning help:


 “SAS manuals 'SAS Macro Language' and 'SAS Guide to Macro Processing' are the best. You will gain a lot with


playing examples in both books.”;


  “'The Little SAS Book, A Primer', 2nd edition.”


 "Carpenter's Complete Guide to the SAS Macro Language”


2. Data step - basic knowledge of (60)


The Secret Life of the Data Step, by Thomas Miron (SUGI21-26)


3. Data file manipulation - INFILE, UPDATE, SET intricacies etc


4. ODS - capabilities and more broadly, SAS8 improvements (53)


5. Efficiency (49)

 PDV width may be more significant than number of rows  Sorting by
character variables is more efficient than sorting by numeric variables


In terms of programming time, you’ll save a lot by getting rid of the warning messages up front


6. Data Step Vector - how it works (47)


The Secret Life of the Data Step, by Thomas Miron(SUGI21-26)


7. Macros - knowing how to write macros that write SAS programs (46)


8. System Development Life Cycle processes (44)


Code Complete by Steve McConnell


9. SAS Help - How to get it (40)


SAS Tech Support http://www.sas.com/service/index.html


SAS Tech Support (919) 877-8008 (be sure to have your site number)


WWW newsgroup comp.soft-sys.sas


http://groups.google.com using Advanced Group Search


with comp.soft-sys.sas as the Group (contains archives of


the newsgroup discussions)


SAS8 Help CD


10. Proc Report (34)


11. SQL Dictionary tables - basics of retrieving SAS metadata(31)


Data About Data: An Introduction To Dictionary Tables by Dilorio and Michal, SUGI21-32


12. Proc Summary/Means (28)


13. Debugging Techniques - DEBUG facility and other techniques(27)


14. Proc SQL (27)


15. Structured programming concepts (24)


16. Proc Format (18)


17. Relational Database Design (18)


18. Web technology - HTML, JavaScript, SAS IntrNet, etc (17)


19. Your Operating System native (and other) languages - REXX, unix scripts, VBScript, Syncsort (17)


20. Proc Transpose (16)


21. Data step reports - "Data _null_" report writing (14)


22. SCL - SCL Functions usable in e.g., Base SAS data steps(14)


SCL for the Rest of Us: Nonvisual Uses of Screen Control Language by Michael L. Davis

Feb 22, 2009

简单

本想在图书馆看一天书,结果上午看了本《缓解压力》;中午又回宿舍睡了会觉,上网订了泳帽泳镜和羽毛球拍;下午看了前车约翰的《简单法则》;晚上翻了5期的《三联生活周刊》。一天下来,真正看教科书的时间加加起来才三个多钟。

《缓解压力60法》:多吃不同颜色的水果,有规律锻炼,游泳,多吃富含维生素B的食品,及时补充镁和铁。

《简单法则》:1.减少 reduce 2. 组织 organize 3. 时间 time 4. 学习 learn 5. 差异 difference 6. 背景 context 7. 感情 emotion 8. 信任 trust 9. 失败 failure 10. 单一 the one。

KFC原则-- K:Know what you what. F: Find out how to get it. C: Change the way until you get what you want.

简单-->复杂-->极简(朦胧)

Feb 8, 2009

山寨了张证件照

显得比较无聊,山寨了张证件照。长得一般,精挑细选才找出了看着还算将就的。整整捣鼓了两个钟。发现比较自然的姿势是身体偏右15度,目视前方。

下午看“感动中国”,也的确很让人感动。在感动的同时,也有很多感慨,有些感动的事还是不要发生的好。一个个平凡又不简单的人,有些靠的是瞬间的风采,然而更多的是靠时间铸就了丰碑。看着他们的经历,我感到自己很幸运,也很渺小。

“工作是人的天职”,人需要一个终极的目标,这也许真要在宗教中才能寻找得到。如果做每件事都能怀着宗教的虔诚,把工作真正当成了为上帝创造荣耀的过程,相信心灵能少些浮躁,多些归属。

Feb 5, 2009

OK,原型搞定~

从上月19号开工到现在,除去休息、跑亲戚、聚会的时间,其他时间都花在搞这个网站上。现在原型基本出来了,有些细节开学前每天花一定时间处理下应该就可以了。发现我依然是个优秀的美工,可写程序上除了精力充沛外基本没啥天分。犯了很多苦笑不得的错误。开发的一半时间在找自己整出的Bug,其他时间在不断地试着不同的解决方案。从Java整到了PHP;确定用PHP了吧,又换了两次IDE,从Eclipse到PhpED再到Netbeans。到开发临近完成,又开始了和图标、CSS之类的搏命。。。折腾。

Wordpress真是赞,如果不考虑性能方面的因素,基本可以满足一般网站的所有要求。丰富而清晰的权限设置;灵活的模板机制;丰富的插件主题资源;广大的用户群。。。这些都是其他的一些架构所难以比拟的。这次我的开发不过是对后台进行了一定剪裁,添加了一些功能;对模板进行了一定的修改;运用插件增添了一些功能。不过也有麻烦的地方,AJAX看着有点难懂;有些代码缺少注释;代码风格不大统一;有些设计过于优雅难以理解。。等等。也许是我PHP值太低的原因吧~

插件方面使用了GD Star Rating, Role-manager, WP-Pagenavi, WP-postviews, Search Everything;添了些花哨的功能,也省了不少的事情。模板是在Simple-X的基础上修改的,不过和重写基本没啥差别了。

Jan 30, 2009

初五

半个假期过去了,转眼已是初五。从乐观到悲观,渐而急躁,金融学院工作论文网站这个项目进行得并不顺利,WordPress用到了一些对我而言比较新的东西。大部分的时间不是用在coding上,而是在学着杂七杂八的东西;PHP、AJAX、jQuery,一本本地翻着手册。有时国内时候,思路老是被杂七杂八的事儿打断,写了备忘录还是忘个精光,有点少年痴呆症的嫌疑。过年打打升级、看着牌都头疼,比较失败。


也许我又接了个不该接的项目,计划又被打乱。不过既然接了下来,也就没后路了;虽没有什么制约,可不搞定不光丢了我的面子,也丢了朋友的面子,只能多喝点咖啡少睡点觉了。十六号开始上课,计划过完正月十五回校,还有十天,只有十天。

Jan 24, 2009

生日

今天是小年夜,也是我的生日。转眼已过去了24年,时间越过越快。试着看下电影,可没啥心情,看着长长的TodoList,呵呵,还是一件件事做吧。

昨天上午高中同学聚会,中午庆祝爷爷的生日,下午陪妹妹看了一下午日剧,晚上一直在读WordPress的文档。现在每天都又Google的Calendar记录自己做了什么,几点起床,看了什么电影,见了什么人,读了什么书。也许真是年龄大了,想在贫乏的生活中记录些什么吧。

WordPress的文档其实写的不错,就是组织得有点让我不习惯,同一篇文章会在多个系列或者多个分类中出现;不过Developer_Document组织得不错;还发现一个叫phpxref的网站,对几个流行的php源码提供了交叉索引,弥补了一些IDE的不足。PhpED也提供了不错的代码导航功能,可和一般IDE对Java的支持相比,还是有一些不便。

Chrome的profile功能很赞,等于提供了多个浏览器环境,可以在同一个站点可以用不同的帐号登录;可以在不同的profile中打开不同的一系列默认页面。这个功能不论是在日常使用还是在网页调试的时候都是很有用的。比如可以用一个profile用于默认网页浏览;另一个用于使用Google的产品;再加一个用于网页的开发测试。靠一些灵巧的小功能提供出色的用户体验,这也就是Google吧。

Jan 22, 2009

Php开发环境

最近要写PHP,先是试了Dreamweaver,毕竟只是个网页设计软件,对编程的支持实在是比较有限。接着又试了PHPEclipse,不大稳定,而且搜索功能比较弱,不能和Eclipse下的JDT相比,这样读代码会很不方便。接着下了PhpED,满意,特别是看文档很方便,而且集成了很多方便的工具,而且还带有PHP的调试器。Seven great PHP IDEs compared dw上的一篇文章对七个著名的PHP IDE进行了比较。

PhpED自带了叫SVR的WEB服务器,如果要使用Apache作为服务器,需要将默认运行模式设成HTTP mod,然后在项目属性中设置好网络地址和server端的目录即可。软件自带的帮助文档中有详细的介绍。测试服务器的架设使用了xampp,集成了Apache, mysql, PHP, FileZilla FTP和Mercury Mail,解压就行,不用安装配置。

这两天磕着瓜子看PHP手册,比较无趣。小牛和Frienky大二那会就在写PHP了吧,我那会PHP看是看了些,只是没自己写过,后来就Java了。现在呢?我也不知道我在干啥~~管他呢,写代码。

Jan 19, 2009

开源CMS的选择

最近可能要做一个文件的上传及发布系统,现在处于初步的分析阶段,我也不清楚到底在哪个平台上进行开发,但要肯定是不可能重新写。一来没有多少时间,最后开发可能只有半个多月的时间;二来没有技术上的特别要求,这么着我自然会选一个最方便的开发方法。网页的需求简单地说就是论文的提交、审核、网页及邮件发布,如果采用过于复杂的方案,有杀鸡用牛刀的嫌疑。
首先的设想是在一个CMS或者DMS系统的基础上进行修改。

首先要确定一个开发的基础,第一个想到的是看下有没有Java平台的软件。Java平台下比较著名的开源CMS系统有openCMS、InfoGlue和Magnolia,(详见java-source的论述)都是40余M的大小,有些文档都要收费,在短时间内了解其操作并在其基础上建站有些不大可能。其中openCMS有中文网站http://www.opencms.cn/,从中了解到国内还是有一些团队以openCMS为基础开发商用软件的,有人说openCMS一般适用于日访问量达150,000页面的网站,想必其它两个体积相似的东东也差不多,我因此放弃了这方面的寻找。

接着我看到了plone的介绍,一个基于zope的用python写的CMS系统,http://plone.org/是其官方网站,安装包里包含了python、zope,像应用程序一样安装。网站上还有几段很有意思的视频可以看看。试用下来认为这绝对是个出色的CMS系统,简洁而强大。但仍然不符合我的需求。在网站上还看到了一句话"Java is the COBOL in 21st "。

想到了PHP,在下面的网站上有php主流cms系统测评http://www.php-cms.cn。然后听人说WordPress是个不错的选择。想想这也许是个最简洁的方案了,WordPress众多的插件和方便的扩展机制也许真大大减少我的工作量。Nice!

这么一个个试用下来折腾了我大半天的时间,舍近求远的后果。

Excel概述

今天玩了一下午的Excel,学统计的好歹要对Office多些了解吧。

发现了一些Excel的学习资源,一是Excelhome.net,上面有一些案例,也有很多总结得很好的技巧。我选了本最简单的Excel入门对着实例看完;接着看了些《Excel函数应用500例》的配套的例子。下面的笔记也是整理自Excelhome的文章。

Excel的优势之处:
(1)数据透视功能(2)统计分析,包含在数据透视功能之中。(3)图表功能(4)高级筛选(5)自动汇总功能(6)高级数学计算。

Excel在易用性方面的优势是其他软件难以比拟的,Office在用户友好性方面不可否认地做到了最好;虽然人们也有着这样那样的理由选择其他的方案。“总的来说Excel适合于开发单机版、访问量与开发维护量都不是很大、对数据有分析建模功能的应用程序。”

Excel应用程序的功能区分:
财务分析,这类应用程序通常分析用户所输入的数据,然后可以生成相应的预测模型,提供给决策部门作为参考。
报表类应用程序,这类应用程序充分利用了Excel的分析汇总功能和图表功能,程序的主要目的是生成周期报表。
工具类应用程序,这类应用程序通常用于提高用户的工作效率,例如提供数据转换与导入导出服务。
财务分析在课程学习中有过使用,是Excel最基础的功能;报表类我在实习的时候也都所接触,一些系统会定期地从数据库中筛选数据生成Excel格式的报表并进行发布。至于Excel做为工具我就觉得有点偏门的,也许只是没有接触过的缘故吧。

Excel的几种应用程序结构:

1、无代码应用程序
就是普通的.xls文件,由Excel提供数据验证、单元格的格式化、数据计算、数据输出等功能。首先你对很多对象都没有绝对的控制,而且数据验证、工作表函数都集成在工作表中,这部分的代码的管理就变得非常困难。对于今后的更新而言,替换工作表同时也会不可避免地丢失数据,而且这种应用程序结构不符合代码与数据分离的原则。这样的应用程序只适用于比较简单的需求。
无代码应用程序适用于下列情况:
a. 该应用程序的生命周期很短,只在单机进行部署,而且不需要升级。
b. 最终用户在维护该代码的时候不需要了解VBA。
c. 最终用户的数量不能太多。

2、自动化工作表

运行自动化过程的代码储存在工作簿内。这也是占比例最多的Excel应用程序。相对于第一种应用程序结构,现在可以最大限度地发挥VBA代码的威力:可以将代码和数据进行分离,可以捕获Workbook和Worksheet事件,实现需要的功能,不一而足。
自动化工作表示用于下面几情况:
工作簿内包含针对此工作簿的特殊函数,工作簿程序更新时数据不需要被保留


3、加载宏
加载宏是一种特殊的应用程序,通常用来给Excel增加功能。这里面要特别指出的是,通过加载宏给Excel增加功能特指与应用程序无关的一般目的功能。可以为Excel增加一个在加载宏中的工作簿,对用户而言它是不可见的,但是用户可以通过"宏"对话框来访问这些加载宏。
这些工作簿尽管对于用户不可见,而且其中包含的宏也无法在“宏”中可见,但是它们都可以通过VBA代码进行访问。因为加载宏中的工作表对用户始终不可见,所以需要使用用户表单来和用户进行交互。通过使用用户表单,我们首先获得了更高级的用户界面控制,其次可以更好地实现用户数据验证以及实现更高级的错误处理。这样就可以进一步增强应用程序的可靠性和数据完整性。使用加载宏结构,可以通过使用注册表或者是ini文件来记录用户的设置,而不需要像以前一样记录在工作表中。实现这种分离的重要作用就在于现在可以将配置、数据与程序代码分离,当在更新任何一方的时候都不会影响到其他部分。
加载宏是通过xla文件实现的,当在更新加载宏的时候,只需更改xla文件,然后进行覆盖操作就可以了,通过这种方式可以确保在更新程序时用户数据不会丢失。

4、企业信息系统
在使用基于Excel的企业信息系统时,用户甚至不知道他正在使用Excel编写应用程序,因为企业信息系统完全替代了Excel的用户界面,取而代之设计者设计的界面。这和用Visual Basic等高级编程语言设计出的应用程序没有什么不同。

尽管我们可以看到Excel会很多东西,但是也应该看到用Excel实习这些功能的成本,越是高级的功能开发的成本越高,相应地对培训的要求也会大大地提高。而相反,Excel的缺陷却是难以弥补的,就是对大量数据的管理、分析和处理。所以我想,以后大家对Excel的高级功能使用的会越来越少,毕竟企业会希望自己的知识能在企业内部进行统一管理,整合全企业的信息进行分析处理,而不希望把这些知识或业务逻辑分散在一张张的Excel表格中。当然,这也只是对大型的,有专职信息管理人员的企业来说;对大多数的企业而言,Excel还是一个低成本的、方便的、段时间内难以被代替的解决方案。

Jan 17, 2009

假期开始

昨天这会还在考试,24小时内,我去了无锡的舅舅家,丁山的外公外婆家,现在就窝到了自己房间里,灌咖啡,开始看书。订了些技术牛人的博客,感慨自己的卑微,再这些下去读完了研就真正印证了“不伦不类”这四个字。这假期的主题有三个:数据处理、编程和英语。我也不知道能看完多少书,不过不努力的话肯定玩完。OK,开始。

Jan 6, 2009

读《破解咨询的40个困惑》

正好赶在马哲考试前,复习这门课显然是浪费时间;可开始看投资又有点不靠谱,毕竟马哲还没考完,不用紧张兮兮。于是看了Alan Weiss的《破解咨询的40个困境》一书。我觉得书写得蛮好,可意外的是几乎没有什么名气,也许是因为作者只是个自由职业者,没有有名气的公司做后台;也许又是因为出版社推广不力的缘故吧~从这本书里我了解了关于咨询的很多东西,从工作生活到待人处事都一些,而且都说得很实在。咨询也是做项目,软件开发也是类似,结合起来看更有心得。由于找不到其他的现成笔记,下面的笔记都是我自己整理的。当然,目录是copy的。

第一篇 应对营销挑战


第1章 缺乏行业经验

做一个流程顾问而非内容咨询顾问

第2章 细分市场过小
自身or外部环境?
通往死胡同的标志:相同的客户,老一套的方法,在狭窄的领域越走越窄。
生活中似乎也是如此?
保持现有市场,积极开拓:密切相关的领域,关联性领域,可转换的技能
技术学习?
商业敏锐性

第3章 资源匮乏
虚拟?
与能提供帮助的专业性人士建立长期的联系
对于“专业性人士”来说呢?
值得信赖的跑腿人员
生活中的维护,水电煤?
培育客户

第4章 远程营销成本
预支费用
有自己的标准
把握收款时机

第5章 知名度不高
名字,媒体,开发产品
啥时写本书?……

第6章 项目来源渠道枯竭
了解营销渠道
被动销售?销售自身。
要看些销售的书籍
优势--财富;邮件名单;做项目的同时,请他们推荐;敏锐的嗅觉;维护人际关系网。
我的弱项

第7章 经济低迷或经济发展不确定时期

不景气的相对性,经济危机了,网游不更火了么!
任何情况下都运行良好的企业;茅台?
曾经一起工作过;希望与之一起工作的人
营销推广
考虑新的机会
即不要逆流而上,也不要顺流而下

第8章 如何持续赢得咨询项目
一些征兆,拒绝不是坏事,满口应承才是坏事
欲速则不达,行动太快会吓着别人。交往--达到互信--其他与人交往也是这样吧~
1.下次见面的日期
2.打电话不超过三次
3.每打次电话都发送一封Email
4.较短的时间内不要采取后续行动

第9章 差异化的困境
a.避免使用专业术语
b.给自己定位
c.著书立说
d.创立一个或更多的品牌
e.使用你的名字
坚持!

第10章 自我定位不准确或定位不适时
激情!

第二篇 应对销售挑战

第11章 价格竞争
不良做法:公开收费标准,采用按天收费的方式,在提交项目建议书前讨论收费标准,屈服于压力,与非真正的客户打交道,严格遵守《项目招标书》规定?询问预算,高估竞争对手,无法提供独特的方案,无法和客户建立联系
用价值衡量价格!

第12章 《项目招标书》(RFP)
规避

第13章 害怕和恐惧
自尊和无畏,建立互利互惠、平等的关系
着装得体,谈吐得体,运用幽默,不要无事道歉,尽量选择合适的位置坐好,做准备工作,予以还击,展现智慧,主动出击,绝不胆怯

第14章 咨询项目价格过低
原因? -- 保持敏感性并尽量避免 -- 摆脱
重新讨论遗漏的情况
重新确定能给客户提供的价值
将差异化的因素转换成或有费用
考虑放弃

第15章 “中间人”和设置障碍者
中间人--可能的买家 对求职者来说,也许是HR?
与中间人建立关系的目的只是为了确定谁是真正的客户
合理的借口?晓之以情动之以理。

第16章 项目启动时间推迟

第17章 无人答复/无人回电
如何避免:做好准备工作,提出有价值的建议,有利的证明和认可的依据,制造紧迫感
确实对方回电的最好方法是提及双方都熟悉的第三方
积极跟进而非纠缠不清

第18章 避免拙劣的“推销方式”
不要想当然地认为对方已经“病入膏肓”
不要操之过急
不要自我辩护
问一些引人深思的问题
在你的例子中利用潜在客户所处环境的因素
让买卖双方共同进行诊断
不要使用任何技术?
用你曾经经历过的例子来解释你要做的事情,不断联系
将球踢给对方
准备好走人
前几条很像求职的注意事项,毕竟求职就是推销自我,真诚第一!
谈论客户需要的结果,而不是咨询方法
要表现出你了解客户的情况,了解其所在的行业和竞争的情况
尽可能保障这种会谈是互动性质的
逻辑使人思考,情感使人行动

第19章 客户让低层人员应付你
绝不主动或被动地离开客户!
避免被降级的预防措施:
不要太快地进入推销模式
专注与客户建立关系
强调公司目标的同时,也要强调其个人价值
提及已经合作过的其他客户,最好这些客户与潜在客户处于同一级别
必须让客户把你视为同等的人

第20章 跟进工作不得力

第三篇 应对项目运作挑战

第21章 提防暗中破坏者
修正的原因是出现了失误,失误导致推卸责任和可能的不合作

第22章 咨询范围不断扩大
软件开发中的需求管理是同样的道理,也许是项目的共性之一
达成共识,采取预防措施;
应付偶然出现的范围扩大现象

第23章 应对国际挑战

第24章 客户方发生意外变化并造成损失
最初的反应--启动紧急预案
查明发生了什么,联系客户,拟定新的有价值的项目建议书,有坚强的意志力
随后的反应--组织资源
改正和修补,适应和调整,应对和接受

第25章 项目失败
分析可能的原因:目标,客观因素,主观因素
总结经验教训

第26章 客户未能实施项目
咨询顾问 客户
精简人员 解雇部分员工
改组 降低部分员工的级别
引进技术 降低当前利润
设定职责 提供负面的反馈意见
以身作则 改变舒适的行为方式
倾听 接受负面的意见
需要站在对方的角度思考问题,在自己看来理所当然,在对方看来也许艰难。

第27章 应对“公司政治”

第28章 未能就进展和贡献与客户达成共识

第29章 客户“空头支票”式的支持
为什么会有空头支票?也许是内心害怕

第30章 项目管理挑战
变化--唯一不变的就是变化!

第四篇 应对咨询管理挑战


第31章 现金流
税前税后问题

第32章 学习和进步
终身学习,学习如何学习,而不是被教
持续学习的四个维度:带着理解读;带着感情写,带着感情说;带着鉴别听

第33章 客户拖延付款

第34章 日常管理费用及利润
为什么不应该雇人--这些理由在中国也许不是理由

第35章 知识产权遭剽窃

第36章 生病与残疾

第37章 出差食宿行及生活质量

第38章 合理合法避税
不是你赚了多少,而是你省了多少
争取最有利的缴税计划

第39章 不断出现新技术
分清潮流和趋势

第40章 生活目标及平衡

没有完美的平衡