<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener("load", function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <iframe src="http://www.blogger.com/navbar.g?targetBlogID=12803833&amp;blogName=thomasnguyen.com&amp;publishMode=PUBLISH_MODE_FTP&amp;navbarType=TAN&amp;layoutType=CLASSIC&amp;homepageUrl=http%3A%2F%2Fwww.thomasnguyen.com%2Fblog%2F&amp;searchRoot=http%3A%2F%2Fblogsearch.google.com%2F" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="30px" width="100%" id="navbar-iframe" title="Blogger Navigation and Search"></iframe> <div></div>
home blog contact

Dependencies Suck.
Thursday, March 16, 2006
Big, Old and Evolving Project = A LOT OF DEPENDENCIES.

Here's what came up: We needed to insert dummy data to a database to test new Java code functionality, but the only way to insert it is to use the RPG interface (green screen) one at a time. It does a lot of business logic in the background, so we can't just dump a bunch of data into the database.

Problem: there's no function to do this. We HAVE to use the green screen. Imagine manually entering in 1000, better yet...20 individual forms (each form has about 15 fields) EVERY time you want to test your new Java code? THE SUCK.

Also, XMODS has no dependency when you buy engine upgrades. Stage 2 and Stage 2 - Upgrade is completely decoupled! AWESOME.
2 comments
Coffee Break Anyone?
Tuesday, March 14, 2006
Free cup of *bucks coffee. What more can I say?

Pretty much any *bucks, you can't miss them
Tomorrow, Wednesday, March 15, 2006
10:00 AM - 12:00 PM
0 comments
A, B, or C?
Which is compiles?
Which has no exceptions?
Which works the right way?

A) isUniqueDealAs1.
B) isUniqueDealAs2.
C) Both.

(Java 1.4.2)

int _iNum;
int _iNum1;
int _iNum2;
String _strID;

public boolean isUniqueDealAs1 (FilterTestObject ftoR) {
   if (this._iNum == ftoR._iNum
         && this._iNum1 == ftoR._iNum1
         && this._iNum2 == ftoR._iNum2
         && this._strID.equals((String)ftoR._strID))
      return true;

   return false;
}

public boolean isUniqueDealAs2 (FilterTestObject ftoR) {
   if (this._iNum == ftoR._iNum
         && this._iNum1 == ftoR._iNum1
         && this._iNum2 == ftoR._iNum2
         && this._strID == ftoR._strID)
      return true;

   return false;
}


Oh the frustrations I had. 2 hours of debugging for one simple, simple, SIMPLE mistake.
3 comments
Language/IDE Comparisons, Part 1.
Sunday, March 12, 2006
Every once in a while, I'll post up some new headaches, awesome-ness, or just differences that have come up for me using Java(1.4.2)/Eclipse (3.1.2) and C#(1.0)/Visual Studio 2003. Here are some to start:

IDE Features:
-Eclipse's refactoring and perspectives are really helping me fly through the code and find what I need to find.
-Visual Studio 2003's (VS2003) CTRL+Tab is much easier than Eclipse's CTRL+F6 to move around open files.
-Eclipse's support for JUnit testing, CTRL+X or CTRL+D, then T.
-VS2003's support: a separate application, blech.

Parenthesis and curly braces:
-Eclipse auto closes it for you, VS doesn't.
-VS2003 auto indents after you close it, Eclipse doesn't.

Text navigation; CTRL (+ C) left and right
-Eclipse selects by word-"humps" i.e. thisClass has 2 humps, oneTwoThree has 3, etc.
-VS selects by word alone.

Langauage Features:
Verbatim string literals:
-They are a billion times prettier regular string literals. C# has them, Java doesn't.

(C#)
CSharpSqlStatement = @"SELECT *
FROM table1 t1
WHERE t1.column1 = 'seacrhText'
ORDER BY t1.column1";

(Java)
javaSqlStatement = "SELECT * "
+ " FROM table1 t1 "
+ " WHERE t1.column1 = 'seacrhText' "
+ " ORDER BY t1.column1";

Try copy and pasting a statement from the SQL editor over to your code, then formatting it so Java can understand it. With C#, Copy and Paste inside parenthesis and let it know its a string literal with a '@'.
0 comments
Bundles of Fun.
Thursday, March 02, 2006
[1] Interviewing is Awesome.
Watching how people are on the other side of the interviewing table really opens your eyes. There are those who blow you away and others who you wish you could take to side and prepare them. Some people say "people skills" are something we are born with. I completely disagree. No matter what, it's still a skill and everyone should work on it, but some just haven't had the chance. To those who are quiet, un-engaging, and give two sentence answers in interviews, please go practice. To those who ramble on-and-on-and-on-and-on, do the same. Whether it's to a friend, professor, mentor, or (I think is the best) your career counselor.

[2] Cougars Kill Owls.
The red sea. Coogs. UH. Whatever you want to call us, we beat Rice: 74-71. It was an awesome game. I had a roller coaster of emotions. Thanks to all those who came out to support: Sohel, Vikram, Long, Dustin, Luke, and the other ~7000 coogs! And yes, I still use my student ID to get in free. Better yet, we got 2 free hotdogs, 1 bag of chips, 3 shirts, and a FREE ride back to the car (thanks Long!).

[3] FINALLY, got project working (lessons learned).
After almost 2 weeks of struggling to get a stable copy of the application, it took only about 2 more to get it setup. First I tried WSAD, then I tried Eclipse...to my pleasing with success! Sometimes free is better than paying. Wait, I'm kidding myself. Free is always better.

Lesson 1: Position titles mean nothing if you don't do what your position says.
Lesson 2: Being too busy to produce effective documentation makes things harder for the new guy. In this case, ME.
Lesson 3: If you don't know what you're talking about, shut your mouth.
Lesson 4: Micromanagement is good and bad depending on the circumstances. Long-term micromanagement is always bad.
Lesson 5: Understand the co-worker. Some come from completely different backgrounds.
Lesson 6: 13 really is a bad luck number.

[4] Articles and Blogs Galore.
a. Transformers are back!
b. Art History helps. I'd never care about this article without it.
c. Bird Flu? Psshh...we cook it until we KILL the flu.
d. If you have this poster, email me. I'll buy it.
0 comments
Mini High School Reunion.
Wednesday, March 01, 2006
Only three of us, but of all places, we met at 24 Hour Fitness! That's just crazy! Good seeing you Sarah and Atul!

Tip of the day:
Remember when working on a team project to NOT break the code and check it in thinking no one else will be touching it. Eventually, it will and when it does, it usually happens at a really bad time. Either that, or you bring the whole system down and crash and burn all the living souls within a 50 mile radius. (OK, maybe not that bad, but it really sucks.)

GO COOGS!!! Rice vs. UH, dude we have to win. If not, I'll have to play Battlefield 2 and relieve some tension. If we do win, I'll play Battlefield 2 because its so fun!

Good luck to everyone with their interviews tomorrow!
0 comments





Recent Posts
Reading Material: Writing Secure Code.
No Right Click? Use Shift + F10.
Hurricane Ike Recovery.
CI in SD Conference.
Microsoft ArcReady Event.
University of Houston Alumni Organization.
Arrested Development - Great Show!
NYTimes.com - Double Click a Word, Try It.
Secure Vantage Technologies is Hiring.
SqlException: Invalid object name.

Archives
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
January 2007
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
May 2008
June 2008
July 2008
August 2008
September 2008
October 2008

Blogger
copyright 2006-2008 | thomasnguyen.com

Google Reader flickr del.icio.us nike+