有点迷失

突然有点迷失了,一不小心步入外包这行,感觉自己距离梦想似乎越来越远.也许是一直都不清楚自己”到底”适合做什么吧. 这个问题直到这刻仍然不能给自己一个满意的答案.

一直以来觉得软件这一行应该是google,ms那样 –  实现一个想法(不一定要多伟大),做出人人都喜欢的东西 . 可能是这段时间的工作性质的关系,整天的作一些毫无生趣的事情.辞职的想法每半分钟从脑中闪过一次.但是当清醒一些的时候,就像现在,我又会问自己:ok,如果辞职了,你打算干什么?不要告诉你要去读书吧,我知道当你看了研究生的那些华而不实的课程设计以后,你就不会想去浪费一年或者两年的时间了.

那我到底可以做什么?到底可以怎样去改变自己的现状. –  难道我真的还怕改变吗?

SpringWebFlow – 重用与抽象框架

作者:Edmon Begoli May 5, 2005
翻译:ZhangV 2005-07-22
原文出自:DevX.com
原文链接:http://www.devx.com/webdev/Article/28041/0/page/1

Spring WebFlow是一个全新的Web框架,她带给我们一种全新且高度结构化的Web应用构建方法.让我们来看看她的一些特性.
Spring框架正准备推出一种新的技术.在下一个版本中(1.3,预计在2005年夏天发布)Spring将正式将Spring WebFlow整合进来.Spring WebFlow是一个及其优秀的Web开发框架,用于在Web应用内部创建和配置可重用的Web流程.

熟悉Spring的人可能先入为主地以为Spring WeFlow和SpringMVC没有什么区别.那就错了.Spring MVC是一个轻量级的Web开发框架,而Spring WebFlow 则提出一种全新的视角.她使得Web架构师们可以将精力集中在Web应用开发的抽象层次上:Web流程的逻辑结构和Web事件条件的定义.此外,她还提出许多新的概念.(稍后会介绍到)

本文将回顾这一个新框架前的一些关键概念,用一个经典的用户登录例子来分析流程标记语言的主要组成元素并向您解释为什么WebFlow如此诱人.(读者必需要有Spring 1.2基础).

Spring WebFlow 概念和组件
作为一个Web框架,WebFlow无论在理论上还是在实际开发上都有诸多优点.深厚的软件工程学架构保证了他的稳定性,同时,其组件合理,易于理解,易于使用.
事实上,它更适合中大型应用的开发,因为它的组件模型专门针对架构重用,高效管理性和可配置性进行了优化.

用例研究
本文以一个常见的web应用流程作为示例, 一个身份认证流程,讲解它的一些代码片断.一个Web认证的全过程包括:登录表单,注册表单,认证action,注册action,以及对这些action的结构修饰.这个例子用来展示那些修饰登录表单的组件的配置.

自动操作架构
Spring WebFlow以有限状态机(Finite State machine)的概念为基础.Web应用内部的用户交互行为和事务被建模为一般的状态机,这是一种非常流行的软件工程建模方法.(见图1).自动机为基础的设计是一种很好的设计方法,同时正在越来越收到应用架构的青睐 — 因为它在对Web交互行为建模时显得相对清晰且严谨.

WebFlow的核心组件
一个Spring WebFlow应用中包含一个或多个流程,通常每个流程包括执行Action的动作状态(ActionStates),显示状态(ViewStates),跳转动作(Transitions).

流程
一个流程是一个预先定义好的用户交互行为的集合,表示为一个由动作状态和显示状态构成的树,状态之间通过跳转联系.
下面的登录注册是一个webflow的例子,包含了一些典型的构件,例如loginForm,ActionState,transition.这些构件通过一个XML文件描述:
<?xml version=”1.0″ encoding=”UTF-8″?>

<!DOCTYPE webflow PUBLIC “-//SPRING//DTD WEBFLOW//EN”
“http://www.springframework.org/dtd/spring-webflow.dtd”>
<webflow id=”LoginSequence” start-state=”loginForm”>

<action-state id=”loginForm”>
<action bean=”loginFormAction”/>
<transition on=”success” to=”formView”/>
</action-state>

<view-state id=”formView” view=”enterCredentials”>
<transition on=”submit” to=”bindAndValidateForm”/>
</view-state>

<end-state id=”successView” view=”displayMain”/>
这个流程以loginForm开始,以”successView”结束(修饰主页面”displayMain” 的组件.流程可以通过XML文档配置,或者AbstractFlowBuilder的子类.

动作状态(ActionStates)

ActionStates对用户事件或其他事件进行响应.ActionStates自身又可以包含其他可执行的Action和transition.下面的代码配置了”loginForm”这个ActionState.

<action-state id=”loginForm”>
<action bean=”loginFormAction”/>
<transition on=”success” to=”formView”/>
</action-state>

动作(Actions)

Action是ActionState可以连接,重用,声明调用的最小单位.Action继承自AbstractAction类,该类实现了doExecuteAction方法.这个方法的参数:RequestContext,WebFlow(其中封装了所有流程相关的数据).loginForm动作状态通过Spring的自动装配特性调用LoginFormAction动作.doExecute
Action方法被自动调用,同时可以处理一些登录准备,预先装入等操作.

public LoginFormAction extends AbstractAction{

protected Event doExecuteAction(RequestContext context)
throws Exception{
//perform some login specific setup operations

}//end method

}//end class

显示状态(ViewState)

ViewState初始化对显示组件(jsp,tile等)的修饰操作.下面是一个ViewState的配置代码
<view-state id=”formView” view=”enterCredentials”>
<transition on=”submit” to=”bindAndValidateForm”/>
</view-state>
当来自loginForm的ActionState返回一个”success”时,这个ViewState将会被调用.它将修饰”enterCredentials”显示组件(可以是一个常见的struts forward).

跳转(Transition)

和通常的状态机一样,WebFlow定义了状态以及状态之间跳转动作.这些跳转动作很类似struts中的ActionForward.同样是负责连接两个状态.

后继动作(Continuation)

后继动作(Continuation)允许你回退并重新开始程序执行流程 — 从程序执行的角度来看是一个适时的逆流程.Continuation的概念最早来自编程语言,但是却从来没有被用于像Java,VB,C++这样主流的编程语言中.WebFlow创造性地实现了continuation.由于continuation可以用来持久和重造任何一个流程状态,从而提供给你极大的自由.

重用

WebFlow中的流程定义,如登录流程,有针对性地被结构化以便重用.他们定义封装了自己的生命周期.这些定义可以很容易的用支持Spring的其他Web组件配置重用.架构师应该识别出并定义通用的流程,如登录,搜索等以便今后的重用.
此外,Action如果正确的设计与Spring的结合,也可以被重用.他们可以同时被不同流程的action state使用.这些重用,既有应用级的又有流程级的,增强了维护性和代码可读性.

与struts结合

WebFlow与struts的结合部分地通过标准的Spring类和org.springframework.web.struts包中的一些配置.要与WebFlow相关概念(Action,ActionFlow)结合只需要注册WebFlow规格的struts action,并像普通的WebFlow action一样使用.

下面的配置代码来自struts-config.xml,描述了Struts的Action如何配置成流程的入口.注意WebFlow规格的Action类(org.springframework.web.flow.struts.FlowAction)和属性”flowId”,它们将Action与登陆流程连接起来.例子中的登录流程在Spring的应用上下文(ApplicationContext)中作为一个loginFlow的bean管理.你还需要将这个流程注册为一个由Spring管理的bean.

<!- flow actions ->
<action path=”/loginFlow”
type=”org.springframework.web.flow.struts.FlowAction”
name=”actionForm” scope=”request”
className=”org.springframework.web.flow.struts.FlowActionMapping”>
<set-property property=”flowId” value=”loginAction” />
</action>

在这个例子中还用到了Spring中的RequestProcessor(org.springframework.web.struts.BindingRequestProcessor),是Spring的自动绑定form和bean.这一特性避免再去写单独的ActionForm对象.

<controller processorClass=”org.springframework.web.struts.BindingRequestProcessor”/>

同时,它还要求一个使用工具类来自动绑定Web表单中的值到一个对象.

<plug-in className=”org.springframework.web.struts.BindingPlugin”/>

WebFlow的预发布现在可以下载,其中包含一个样例应用(“birthdate”),详细描述了这个整合过程.

如果你正在着手建立一个Web应用,Spring是一个非常不错的选择.Spring MVC非常容易上手并且可以很方便的同其他组件整合.另一方面,即将出现的Spring WebFlow将提供给你各种复杂的新特性.使你能够开发出高度重用和结构化的Web应用.如果你在开发的是一个大规模的企业应用,这一点是很重要的.这也是为什么struts如此流行.

总的来说,J2EE Web框架目前处在一种群雄逐鹿的状态,没有一个领导者.Struts是最流行的,但是它的主架构师也是主要的开发者已经抛弃了它.被称为Struts取代者的JSF目前还没有获得足够的影响力.而同时,其他的框架正在慢慢开始流行.

你也许会问,”我应该选择哪个?”Spring WebFlow出现可以让你以后再去考虑这个问题.WebFlow允许你在不需要较大改动的情况下方便的切换框架.像前面说过的,Spring WebFlow是一个抽象的框架,可以让你只专注于业务流程和重用.无论是Struts,JSF还是Spring MVC都可以作为它的业务流程实现.因此,你也就不需要马上作出上面说的那个选择了.

Nokia E61 E61i键盘使用方法

Nokia E61 E61i键盘使用方法

符号说明:
键盘默认输入法为拼音。
↗:左下角的蓝色箭头,按一次后可输入1个符号或1个数字,之后恢复拼音键盘;快速按2次后,键盘变为数字或符号输入方式;
↑:Windows的Shift健,按1次可输入1个小写英文字母,之后恢复拼音键盘;
Ctrl+↑:切换输入法(和Windows的一样),输入法依次为“拼音”,“笔画”,“英文”,“拼音”;
Ctrl+空格健:转换输入法(和Windows的一样)中文,英文;
↗+Ctrl:打开或关闭蓝牙;
↗+Car:打开或关闭红外;
在拼音和英文输入方式下,键盘输入没有错误。
在中文输入方式下,符号可通过按Car键后选择符号,在英文输入方式下,Car不可用。
在英文输入方式下,按1、2、3次↑(Shift)可切换英文的输入状态为“Abc”,“abc”,“ABC”。
在中文或英文输入方式下,按2次↗都可换为符号输入方式,除Q(!),R(1),T(2),Y(3),U(*),F(4),G(5),H(6),J (#),V(7),B(8),N(9),M(0),正确外,其它的都有错误,实为:W(”),E(&),I(-),O(+),P(=),A(¥),S ($),D(ε),K(_),L(、),Z(<),X(>),C()
@:在空格键的左边(”,)。
键盘锁(开锁):左上角键+↗

(个别仅E61/E70等QWERTY全功能键盘机型)拼音打字的时候,按右下角的Chr键,也就是亚太版的中键,可以区分待选字符的四个声调,按一下是 第一声,按两下是第二声…….按ctrl+space可实现中英文切换;按↑+Chr可调出编辑语言窗口,选择不同的语言感谢其他机油提供新的信 息!!中文选择字区翻页:在输入后出现的当前中文字对话框内如果没有需要的字,可以使用空格键进行翻页直到选到需要的字。候选字对话框内字的选择:按一下 左下角的箭头(笔形键),再按相应的数字区的数字即可选择。中文输入状态时,按住Chr不放再按字母键可以输入小写英文字母;按一下↑再放开,然后按字母 键也可输入小写英您尚未登陆/注册查看回复返回论坛续上:文字母;按住↑的同时再按字母键,则是输入大写英文字母。从[多媒体资料]浏览图片时,可使用以 下数字键代替菜单,快速操作:1:逆时针旋转3:顺时针旋转5:放大0:缩小2,4,6,8:上左右下移动图片*:在全屏幕和普通视图间切换。用 realone观看视频时,按2可实现全屏切换用自带播放器播放音乐时,5——暂停或播放,4——前一首/(长按快退),6——后一首/(长按快进),8 ——停止,按挂机键直接转入后台播放按↑+回车可做标记,在批量删除短信时很方便;按Ctrl键+上下摇动摇杆可标记相应的文件,再次重复操作则取消标 记。在应用程序中选取文字。按住shift键,并以游戏杆向左或向右卷动以选取文字。您尚未登陆/注册查看回复返回论坛续上:t+游戏杆复制。Ctrl+ C剪下。Ctrl+X贴上。Ctrl+V复原。Ctrl+Z斜体。Ctrl+I粗体。Ctrl+B进入文件夹或者选择程序时可用回车键代替摇杆的OK键 (部分不行)在短信输入完成后,可按拨号键直接发送短信待机状态下:↗+Car为打开红外的快捷方式(↗为键盘左下角的兰色箭头):按住↗再按Car键可 打开红外,红外在没有找到对应红外口后会自动关闭。↗+Ctrl为打开蓝牙或者关闭蓝牙的快捷方式。按住↗再按Ctrl键可打开蓝牙,再次重复操作则为关 闭蓝牙。

[在待机状态下]

↗+Car为打开红外的快捷方式(↗为键盘左下角的兰色箭头):
按住↗再按 Car 键可打开红外,红外在没有找到对应红外口后会自动关闭。

↗+Ctrl 为打开蓝牙或者关闭蓝牙的快捷方式:
按住↗再按 Ctrl 键可打开蓝牙,再次重复操作则为关闭蓝牙。

左功能键+↗为键盘锁:
按下左功能键再按↗可以锁闭手机键盘,重复操作则为打开手机键盘。

左功能键+* 为键盘锁:
按下左功能键再按 * 可以锁闭手机键盘,重复操作则为打开手机键盘。

[在文字编辑中]

↗键的基本使用(↗为键盘左下角的兰色箭头):

按下一次可以输入一个数字或者符号,输入完成后则恢复拼音键盘。
快速按下二次则变为可输入多个数字或者符号,再次按下↗则恢复复拼音键盘。

↑为键盘最下面一行键盘的两个向上方向的键盘:

按下一次可输入一个小写英文字母,输入完成后则恢复拼音键盘。
按住↑再按其他键可以输入多个大写英文字母,输入完成后松开↑则恢复拼音键盘。
快速按两下↑并不松开可以输入多个小写英文字母,输入完成后松开↑则恢复拼音键盘。

注:↑键与其他symbian机型上的编辑键功能相同,也就是我们常说的笔形键。
注:←键与其他symbian机型上的C键功能相同,就是删除键。

Ctrl键+↑为切换输入法:

按住输Ctrl键并按下↑一次或者多次法排列顺序:拼音-笔画-英文。

Ctrl键+空格键:

按住输 Ctrl 键并按下空格键为转换输入法,在中文输入和英文输入之间转换。

中文输入状态下按下Car:

在中文输入状态下按下Car可出现标点符号的选择对话框。

↗+数字键中文选字:

在输入拼音或者笔画完成出现的中文字对话框时,选择第一个字可以直接用回车键选择,需要选择第二字至第六个字可按住↗+字左上角的对应数字来选择需要的字,当然也可以使用5向操纵杆选择需要的字。

注:回车键即为Car键正上方的键。

中文选择字区翻页:

在输入后出现的当前中文字对话框内如果没有需要的字,可以使用空格键进行翻页直到选到需要的字。

待机画面:
▲按住#键→可切换"标准"与"标准模式"(如要切换其它模式请轻按一下电源键)
▲按住P或M键→打开Web浏览
▲按住红色键→结束UMTS/GPRS连结(帮你节约联机费用)
▲按住菜单建→打开类似Windows XP的”工作管理员”窗口,可以迅速切换程序(此功能适用所有画面,不仅限于待机)*

■菜单画面:(不同韧体可能有异)
请注意到菜单排列恰好可以对应到蓝色数字键共12个(横的算起来有3列,纵的有4行)
▲左下方蓝色功能键+对应的蓝色数字键→选取并进入该程序(可以有效减少游戏杆使用)
■讯息画面:
▲Ctrl + C 复制
▲Ctrl + X 剪下
▲Ctrl + V 贴上
以上三项,若为中文韧体,可用”按住Chr键→带出剪贴画面”取代
▲Chr + 任意文字键→输入特殊字符(若是在注音模式下,会输入注音符号,不过无法和键盘上的符号一致,真是奇怪)
▲Ctrl + 游戏杆向下→下一页 ▲Ctrl + 游戏杆向上→上一页
▲Shift + 游戏杆左(右)→选取字符
▲Shift + Ctrl + 游戏杆左(右)→选取整组文字(word)
▲Ctrl + 游戏杆左(右)→移动光标至前后文字(word)
▲绿色通话键→立即寄出讯息
▲红色结束键→立即退出讯息编辑
▲Shift + 游戏杆向上(下)→欲选取多个讯息或邮件,功能类似windows xp中的档案总管

■行事历画面:
▲蓝色功能键+ * →切换月、周、日、待办事项检视画面
▲蓝色功能键+ # →切换回今日
■浏览器画面:
▲蓝色功能键+0 → 回到首页 ▲蓝色功能键+1 → 显示书签
▲蓝色功能键+2 → 显示文字搜寻对话框
▲蓝色功能键+3 → 回到前一网页检视
▲蓝色功能键+5 → 跳出网页选取窗口
▲蓝色功能键+8 → 切换显示全网页缩图
▲蓝色功能键+9 → 显示本网页url对话框
▲蓝色功能键+* → Zoom In
▲蓝色功能键+# →Zoom Out
■文件编辑画面:(文字编辑器)
▲Ctrl + B →黑体字
▲Ctrl + I →斜体字
▲Ctrl + U →底线
▲Ctrl + 游戏杆向下→跳到文件结尾
▲Ctrl + 游戏杆向上→跳到文件开头

■多媒体数据画面
▲1 →逆时针旋转
▲3 →顺时针旋转
▲* →切换窗口与全屏幕检视
▲2, 4, 6, 8 →平移,和游戏杆功能相同

■音乐播放机画面:
▲4 →跳至前一首歌曲
▲Hold 4 →快速回转歌曲(非常好用)
▲6 →跳至下一首歌曲诺基亚
▲Hold 6 →快速播放歌曲
▲5 →播放/暂停
▲8 →结束播放

■Real Player画面:
▲2 →切换全屏幕画面
▲ 游戏杆向上→快速播放影片
▲ 游戏杆向下→快速回转影片
■工程码(待机画面直接输入,不必按enter
▲*#0000# →显示韧体版本
▲*#06# →显示IMEI号码
▲*#2820# →显示蓝牙地址
▲*#62209526# →显示WLAN adapter的MAC地址
▲*#92702689# →显示通话定时器
▲*#7780# →soft resets并且reset手机设定
▲*#7370# →hard resets
若你指的是回复E61手机的初始值的话
1. 键入*#7370#
2. Default Password 是 “12345”
ps : Password 失败不要超过 3 次,否则手机会被lock

Shell Tips

#1 查找文件修改时间为某一段时间的文件:

touch -c 0901000007 file.start
touch file.end

find /local/Tomcat55/0/cluster/machine0/webapps/Pcclass -newer file.start ! -newer file.end > app_modified_since01Sep.txt -ls

find /jpmorgan/apps/pcclass -newer file.start ! -newer file.end > pcc_modified_since01Sep.txt -ls

#2 find records which dont contain “up to date” in the log.txt file to compile.log
cat log.txt | grep -v ‘up to date’ >> compile.log

#3 获取文件总行数
wc -l /jpmorgan/apps/pcclass/temp/1.txt | cut -c1-8
获取文件夹下文件个数:
ls /etc | wc -l

(see:http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+wc)

#4 文本替换
echo “a test” | tr t p
echo “a test” | tr aest 1234
echo “a test” | tr -d t
echo “a test” | tr ‘[:lower:]’ ‘[:upper:]’

#5 sed (Stream EDitor) 正则替换(pattern replacement)
(see:http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+sed)
replace “one” with “another”, one occurrence:
echo “Replace one word” | sed -e s/one/another/

replace all the letter in “aeiouy” with “_” – g:
echo “This is a test” | sed -e s/[aeiouy]/_/g
Th_s _s _ t_st

#6 替换文件中的某个字符串
replace all “a” in 1.txt with “b”:
way 1:echo `sed ‘s/a/b/g’ 1.txt` > 2.txt
!!!-this will lose the line separator
way 2: use awk, better way, more flexible and programatical
awk ‘{
if($0==”aaa”) {print “bbb”}
else print $0
}’ 1.txt > 2.txt

#7 tail

分析日志时,把最后1000行输出到另一个文件.使用tail命令
tail -1000 Pcclassind.log > /tmp/dhanush.log
在控制台输出日志文件(文件更新会随时显示到控制台)
tail -f /local/Tomcat55/1/cluster/machine3/logs/catalina.out

#8 date time
Year=`date | cut -f 6 -d ” “`
month=`date | cut -f 2 -d ” “`
day=`date | cut -f 3 -d ” ” `

#9 查看文件夹所占空间
du -s foldername/
(http://www.computerhope.com/unix/udu.htm )

#10查看所有java进程
ps -ef | grep java

大屿山一日游

本来打算昨天去的 - 重阳节要登高的嘛.可是一出门看到到处是人.有点人群恐惧.于是改成今天.大约花了2个小时的时间才到了东涌,去看大佛的人并不多,以外国人和内地人为主. 虽然缆车因为上次事故而停用,空荡荡的大楼反成东涌一景.(香港人的神经似呼太过脆弱了,人天天死,何况都没死人). 尽管如此直达宝莲寺的23路大巴还是很值得一坐的,窄窄的山道和不时的陡坡让人知道什么是真正的过山车.大约45分钟后,车到了昂坪宝莲寺.

说死在的,没觉得有什么特别的地方,大佛是挺大的,很不甘心地绕着他走了两圈,终归还是有点失望的离开了. – 不过山顶上的风景还不错,可以看到附近光秃秃的山头和山下的居民,还有不远处正在测试的缆车……大佛脚下就是宝莲寺,不值一提.
还是不甘心,所以没有原路返回,而是坐上去梅窝的大巴,梅窝曾经是大屿山的水陆交通要枢,游荡了大约40分钟,就上的船回中环.

下次如果再来而又有时间的话,从昂坪沿凤凰径走到梅窝应该是个不错的选择.看了一下地图大概需要1个半小时到2个小时的样子.

路线:马铁 第一城 ->大围换东铁 ->旺角换荃湾线 ->荔景换东涌线 -> 东涌 23路 ->宝莲寺大佛 2路 ->梅窝 新渡轮->中环码头 天星小轮 ->红勘 东铁-> 大围 马铁 ->第一城
基本上一天的大多数时间都是花在了路上.

alloy破解[转贴]

alloy的许可证分成四个部分,每个部分之间用#号分隔,第一部分是许可证过期时间,第二部分是用户名,第三和第四部分是两个36进制的整数,其中第三部分是校验码,第四部分是一个随机数(我是这么认为的,第四部分写死成一个常量也没有什么关系)。
好了,了解了许可证的构造之后,我们来了解一下alloy检验许可证是否合法和过期的过程。
一:分离许可证的各个部分。
二:判断日期部分的长度,如果长度大于1,就构造一个过期时间,否则过期时间为null。(这下子我们就可以通过使日期部分的长度不超过1来让alloy永不过期了^-^)。
三:调用Long.parseLong(String, int)方法解析出第三和第四部分两个36进制整数的10进制的值。
四:使用java.util.zip.CRC32来计算校验值,计算的过程是把从第四部分得到的10进值整数对127取模,然后加上第一、二两个部分(包括中间的#号),这样就构造出一个字符串,然后调用CRC32.update()方法计算这个字符串的校验值。
五:使用getValue()方法从CRC32中取得校验值,然后将这个校验值与从第三部分获得的10进制数值比较,如果相等,则校验成功。随后就是判断当前日期是否过期的操作了。
这大致就是alloy验证许可证的过程,我们反过来做一遍,就可以得到我们自己的许可证了。下面就是我写的构造许可证的方法,供大家参考。

public String generate(String user)
{
String exp = “x”;
String rand = “torresg”;
long l = Long.parseLong(rand, 36);
CRC32 crc32 = new CRC32();
crc32.update((l % 127L + exp + “#” + user).getBytes());
String checksum = Long.toString(crc32.getValue(), 36);
return exp + “#” + user + “#” + checksum + “#” + rand;
}

另外就是过期时间不能为空,因为alloy中另外某个地方要对这个时间进行处理。为空的话也会验证失败。所以过期时间要使用一个长度为1的字符串。

com.incors.plaf.alloy.AlloyLookAndFeel.setProperty(“alloy.licenseCode”,
“v#ej_technologies#uwbjzx#e6pck8”);
try {
javax.swing.LookAndFeel alloyLnF = new com.incors.plaf.alloy.AlloyLookAndFeel (); javax.swing.UIManager.setLookAndFeel(alloyLnF);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
// You may handle the exception here
ex.printStackTrace();
}

和谐个鸟

最近一段时间准备去香港,发现出入境管理局的人真是蠢啊, ….
一开始准备办Business Visa, 由于没有上海户口, 所以需要居住证, 正赶上居住证正在续办.这种情况下,出入的人告诉我开什么证明都不好使,只有等.
可是偏偏客户那边比较急, 我就打家(户口所在地)那边出入的电话, 得到的答案是:由于我所在的公司是上海的公司,我也不能在那边办.
然后没办法,那就办Personal的吧,问了一下上海出入,人家告诉我personal的要到户口所在地办, 就算有居住证都不好使.
我在打家出入的电话, 得到的答案是,我必须本人去办. 崩溃了, 回家比tm去香港都远呢. 至于么????? 有必要吗? 我要通行证看来是鸟用都没有.
设计这种制度的人真是跟傻子一样. — 当然客观的来说,我的情况实在是太特殊了一点.谁让咱是没有上海户口呢?似乎我要是有上海户口什么事情都可以解决了.
最后看一下我的可选方案:
1.搞个户口来 — 难度系数google, 必须是海龟或者海带或者海白菜,俺土鳖没戏
2.飞回家办personal的 —难度系数0, 来回机票的钱,过去露个脸,等3天.然后可以办半个月的,如果下次再去还要再办
3.偷渡 — 难度系数10,先到深圳, 香港也是偷渡么?不知道
以前觉得户口没什么…”老子好好干就行了,管他户口呢”  — 傻b了吧
现在我真是稀罕这东西,真好啊,真好, 你说中国人整天就把心思放到tm户口上能搞出个p来!
我就是质疑这种sb制度, 头脑正常的人都去哪里了?
唉,香港,号称咱自己的地方,比去印度都难……

敲几个字到notepad

好久没有这么奢侈的休息了,懒觉,坐在电脑前发呆,杀杀毒,查查爵士现在多少钱,清理一下桌面,陪lp看看电视剧,敲几个字到notepad

“一个人能不能成功,运气占至少50%,也就是外界不可抗因素,而像我这样并不聪明的人,可能运气需要的更多”, 一直都觉得自己可以凭实力赢得成功, 看来还是不成熟的表现.当然现在也不能说已经成熟了. — 一个人永远都不能说自己成熟了.
不是说只靠运气就行.没有成功并不意味着没努力或者太差劲,有可能只是运气欠佳.但也要看如何定义成功,每个人对成功的定义都不一样,有的人觉得有钱,有的人觉得要有名,有的人要追求有意义的生活….说我现在要追求有意义的生活简直就是cd
有时候在想自己给自己定了那么多苛刻的目标是为什么,仅仅因为看到那些”成功”的人总是”规划好自己的事业,然后努力向一个有一个目标迈进”,引用从志峰那里听到的一句话,”那就是一个美丽的扯”.那之后呢?有没有想过
简单一点,做自己觉得有意义的事情,不要被别人影响,不要期望影响别人.休息,休息

得了,不臭p了,去买酒,给下周做准备!