Monday, December 08, 2008

TeamCity checkout rules

In team city Version Control Settings you can include/exclude the path for checkout.
Here are a few examples:
  • I want to checkout only the directories:/project1/testing/watirtests, and /project1/ant, but not anything else under project1:
-:project1
+:project1/testing/watirtests
+:project1/ant

  • I want to checkout everything but derectories:/project1/testing/watirtests, and /project1/ant:
+:project1
-:project1/testing/watirtests
-:project1/ant

Monday, December 01, 2008

Python recursive generator to find all the files in a directory

Just for exercise, I programed the following transverse_directory function in python to find out all the files in a directory tree in python, while trying the google treasure hunt - zip:

def transverse_directory(path):
if os.path.isdir(path):
for item in os.listdir(path):
item_path = os.path.abspath(path) + os.sep + item
for file in tranverse_directory(item_path):
yield file
else:
yield path

Wednesday, November 26, 2008

Recursive lambda implementation factorial function in Python

It is easy to implement factorial function use recursive in Python, but how do you implement it by using recursive lambda in Python? Here is my try:
 
fact = lambda n: (n and n-1) and n*fact(n-1) or 1

Tuesday, November 25, 2008

What are the Secrets of the Furious Five?

Did you get the secrets of the Furious Five?

Patience(耐心), Courage(勇气), Confidence(信心), Control your strength(自制力) , Compassion(同情心)

Thursday, October 23, 2008

W3C XML Schema design

Recently, I am involved in a project to design some XML Schema for our partners. While working on it, I referred to some resources on the internet, most of them are listed in this Google search result page. I list a few that caught my eyes and I felt helpful:

Thursday, October 09, 2008

Oracle BEA Weblogic Server 10 "invalid pad byte" error

First of first, BEA has the worst error message ever, it just does not make any sense, maybe just for me!

When switch to a new weblogic domain, we like to copy the configuration files to the new domain in order to reserve some configurations works, such as JMS, JDBC settings.

However, you may get weblogic.management.ManagementRuntimeException: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.

Does this give you any hint that your password-encrypt is incorrect?

You may need to re-encrypt your password in the new domain by using the BEA supplied weblogic.security.Encrypt tool to archive this goal.
java -cp ./weblogic/server/lib/weblogic.jar -Dweblogic.RootDirectory={your domain} weblogic.security.Encrypt {your plain text password}

Monday, August 11, 2008

Seam getting start with JBoss Tools Plugin for Eclipse

Prerequisites:
Install Eclipse and JBoss Tools as Plugin for Eclipse.
Install JBoss AS
Follow the steps to create a HelloWorld Seam web project.








Tuesday, July 08, 2008

JPA DAO and Unit Tests

Here is the UML class diagram for the JPA DAO and the Unit Tests.

Saturday, March 08, 2008

Better Web App

Watch the following video, get a feeling on what is better to be used to develop web application.
better-web-app.mov (video/quicktime Object)

Thursday, February 28, 2008

Oracle Lite dmagent managing olite.key

While dmagent running, it may hold a copy of the olite.key in the memory. So if you change the olite.key in the file system level, it may not be picked up during next action.
Also, the dmagent has the ability to download the new olite.key as it needs, but you may see the username/password challenge window, if you are sure the username/password is correct, just simply click OK, let it try with the new olite.key downloaded by the dmagent. Surprise, it succeeded!

Monday, January 14, 2008

Creating platform specific apps for .Net development

Creating platform specific apps

Most of the language compilers (like C#) now offer a /platform switch. By using this switch, developers can create binaries targeted for a specific platform type or binaries that are platform agnostic. There are four types of binaries that are emitted

· anycpu – platform agnostic

· x86 – 32-bit platform specific

· x64 – x64 platform specific

· itanium – IA platform specific

Please refer to Moving from 32-bit to 64-bit application development on .NET Framework.

How to view the corflags(ILONLY, 32BitRequired etc.) of a PE image?
corflags.exe Core32.dll