Codeworx Design Studio / Dev

Welcome to the Codeworx Design Studio Development Blog! A little place where the CX Development Dept. can post and express our thoughts!

Sunday, October 29, 2006

Firefox DIV Layer Issues

Working on a project recently, I ran across what appears to be a DIV layering issue while testing a web application in Firefox (specifically version 1.5.0.7). The project required using a DIV as a kind of menu bar and in this particular case I had to use absolute positioning to position it. What I observed was that when the “menu bar” DIV was visible, that it was not possible to click anything on the page “below” the DIV.

I searched the internet and found people with the same issues, but found no solutions other than “avoid absolute positioning”… I tried a few things, but ultimately stumbled upon on the solution. Check out the examples below:

This is an example of the issue.

<html>
<head>
<style type="text/css" media="all">
.absdiv
{
position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px;
}
</style>
</head>
<body>
line 1
<br>line 2
<br>line 3
<div class="absdiv">
<table>
<tr><td>test</td></tr>
</table>
</div>
</body>
</html>

Oddly enough, this sample did not have the DIV layering issue. Meaning, that it only happens when you have a table inside of the DIV. Very Interesting.

<html>
<head>
<style type="text/css" media="all">
.absdiv
{
position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px;
}
</style>
</head>
<body>
line 1
<br>line 2
<br>line 3
<div class="absdiv">test</div>
</body>
</html>

The solution to the issue was as simple as specifying a height for the DIV!

<html>
<head>
<style type="text/css" media="all">
.absdiv
{
position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; height: 12 ;
}
</style>
</head>
<body>
line 1
<br>line 2
<br>line 3
<div class="absdiv">
<table>
<tr><td>test</td></tr>
</table>
</div>
</body>
</html>

This is certainly something to remember the next time you’re working with layering DIV’s.

~ Bobby

Monday, October 23, 2006

I will often change my desktop wallpaper at least twice a week (when I'm home) and I'm becoming fond of flickr (http://www.flickr.com/explore/interesting/7days/?). It is very easy to spend a small amount of time looking at the various photos uploaded by people around the world.

Captured in these photos are the essence of life, the soul of a moment in time sealed forever in a photograph. The vivid colors of sun rays on a brilliant tulip, the deep blue sky over the ocean, the smile of a beautiful child...

It is important that as developers we find a place for inspiration... [incomplete].

Thursday, October 19, 2006

Tonight I submitted a utility I wrote for Microsoft Navision to the Mibuso (http://www.mibuso.com/) website for inclusion in their directory. Hopefully they will post it!

You can view the description of the utility below:


SQL Clustered Index Fix is a utility that I wrote to fix the SQL Clustered Index Issue for a Navision 4.0 SP1 database. It is not implemented in C/AL but Visual Basic 6 working directly at the SQL Server level. This inherently means that Navision will not report the indexes as clustered, but as long as any changed objects are re-indexed it should not be an issue.

This utility has only been safely executed on Navision 4.0 SP1 databases running on SQL Server 2000.

It is recommended that you download the latest MDAC before using this utility:
http://www.microsoft.com/downloads/details.aspx?DisplayLang=en&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c

If you are interested in downloading the utility, you can get a copy at the following link:
http://www.codeworxdesign.com/bkn/sqlclusterfix-install.asp

If you are curious about the source code, you can get a copy at the following link:
http://www.codeworxdesign.com/bkn/sqlclusterfix-src.asp

I know some people will be interested why I chose to write the utility in VB6 vs. C/AL. And the main reason is because I am currently only learning the C/AL language. I can modify and work with pre-existing code and even write some code if I have examples and such, but the Clustered Index Fix was derived out of necessity and I felt most comfortable using VB6.

As a note, when this program was executed against a production system with a > 40 GB database it took roughly 4 hours to cluster the indexes.

If you experience any issues with the program, please feel free to contact me by leaving a comment.

~ Bobby

It has been a very interesting and busy week and I’m trying to stick to a goal of posting at least something every few days. I normally don’t watch much TV and spend most of my free time reading and programming, but I had the pleasure of coming across a TV show on KET called “Buffett and Gates - Go Back to School”. The show was a recording of a group of finance students who would ask various questions to Warren Buffett and Bill Gates.

If nothing else, it was very inspiring. As a young entrepreneur of a startup, I think it’s important to have role models in the business world and for the most part we at Codeworx Design Studio try to model ourselves after Google. For those who know me, they know that up until recently I highly favored the Partner business model of Microsoft, but as I’ve done more reading and discussion regarding Google, I think our company’s views on innovation align more towards Google’s.

But as I listened to the TV program it became very apparent that there are some key characteristics of successful entrepreneurs. The first being, they follow their passion... I believe it was Mr. Buffett who specifically mentioned the importance of following your passion, and I think that is something that many people do NOT do and especially with a business, if you are not passionate about your product(s) or service, you will most likely fail.

The second characteristic of successful entrepreneurs and people in general is surrounding yourself with smart people. Marissa Mayer (of Google) in her speech on innovation talks about her “Laura Beckman Theory” (boy, I hope I spelled that right) And the concept of if you work with people better than you, then your intelligence will raise. I think the opposite of this theory is true as well, if you surround yourself with people of lesser skill and are susceptible, then ultimately they will bring you down, which is what I refer to as the “bucket of crabs” theory, based off a similar theory from the movie “Romeo must Die”.

But this of course does not mean that in every instance working with lesser people will bring you down, because kind of the third and fourth characteristics of successful people are the ability to independently think and make your own decisions. Perhaps one of my favorite moments in the program was when a student asked Mr. Buffett who he referred to when he needed assistance… and he jokingly stated that he looks in the mirror… :) He further elaborated and talked about his business partner as a potential source for assistance, but ultimately in order to blaze your own trail, you must be able to think independently. And when coupled with the fourth characteristic, which is the ability to strategize, I think you ultimately either succeed in doing something unique, or you fail greatly.

The last major point that I took from the TV program was concerning Mr. Buffett’s definition of a successful person, which is that “you have lived a good life if the people who you wanted to love you, do…”. I think this is a very interesting statement and when listing to Mr. Buffett about the importance of being able to get the most out of people and then also applying it to the concepts of work and home balance, it is quite profound.
It reminds me of a quote that I had tried to live my own life by:

“To laugh often and love much; to win the respect of intelligent persons and the affection of children; to earn the approbation of honest citizens and endure the betrayal of false friends; to appreciate beauty; to find the best in others; to give of one’s self; to leave the world a bit better, whether by a healthy child, a garden patch or a redeemed social condition; to have played and laughed with enthusiasm and sung with exultation; to know even one life has breathed easier because you have lived—this is to have succeeded”

- Bessie Anderson Stanley

On my own internal scorecard of life, I have my own measures of success, and am no means complete or successful (with the exception of my intelligent and beautiful wife, who I am most blessed to be with), but I did want to share most importantly Mr. Buffett’s last statement because it shows that although you may be successful in business, does it matter if your unsuccessful as a human?

~ Bobby

Please remember, as a legal disclaimer, that my views are not to be considered the views of Codeworx Design Studio, Inc.

Monday, October 09, 2006

Welcome to the Codeworx Design Studio Development Blog!! I'm hoping to make this blog a place where I can post code samples (both my own and from the net) and talk about some of the new and exciting things going on in the Codeworx Design Studio Development Department. The past few weeks have shown tremendous growth as we re-focus our efforts to other initiatives.

In the development area, we are working towards getting more Web 2.0 friendly, taking a deeper look into the implementation of AJAX, and continued use of best practices.

Before Codeworx Design Studio was born, we actually used to write custom desktop applications and even today we will still develop an application here or there and I hope to post soon on a new application with code samples as to how we did it.

Stay tuned!