TEMPESTINI.NET

Observations in Software Development

Archive for the ‘Other’ Category

Is Further Specialization Needed?

Posted by Rick Tempestini on December 10, 2008

In our group we have always recruited “developers”.  Is this wrong?  Maybe in the past it wasn’t, but today?  Could be.  Here is what we are currently expecting all of our developers to be experts in:

ASP.NET, JQuery, HTML, CSS, JavaScript, XML, LINQ, NUnit, Castle ActiveRecord, NHibernate, HQL, T-SQL, PL/SQL, Data Modeling, Stored Procedures, AJAX, Log4Net, Usability, and more.

Is it time to further specialize developers?  You bet.  Offshore, onshore, it doesn’t matter.  How can we realistically expect our entire development team to be “experts” in all the technology above and still deliver projects successfully?  I, for one, feel more comfortable writing “back-end” code such as business logic, SQL, etc. and I’m sure there are others like me out there.  I am nowhere near as strong a developer in client-side development (Javascript, AJAX, JQuery, etc.) and making pages look exactly like the prototype that was handed to me.

So, here is what I propose going forward.  We begin to evaluate our developer pools in a different ways than we have in the past.  In the past, we’ve interviewed candidates to find out which one could answer the most amount of questions in all the technologies listed above.  The one that could hold her own in the most areas won and was awarded a long-term contract where she had to keep her skills up in all these areas and more.  Over the past several years this hasn’t worked as well as it could so we are about to change it.  We are now going to reevaluate our talent and find out strengths, weaknesses, and areas of interest.  (Yes, you must find out where developers are interested too because these are the areas where they will probably be most successful).  We are going to separate them as shown below:

Front-end Developers:
ASP.NET, AJAX, JQuery, HTML, CSS, Javascript, Usability

Back-end Developers:
LINQ, NUnit, Castle ActiveRecord, NHibernate, HQL, T-SQL, PL/SQL, Data Modeling, Stored Procedures, Log4Net

Common Skills All Developers Must Have:
C#, XML

The list above is not absolute as there will always be a mixture of skill sets.  However, the goal will be to use the general categories to help staff projects.

Now, on our upcoming projects, we are going to pair the developers and divide the work based on thier skill sets.  In each project we will do our best to split the skill sets 50/50 (or close to it) as needed.  This way, the developers that really shine in front-end development can spend most of their time building the web pages, working on the AJAX and working on the user experience.  The back-end developers can spend their time where they are the strongest in wiring up the database and building the business logic.

Posted in Other | 1 Comment »

Upcoming MS City to Shore Bike Ride

Posted by Rick Tempestini on July 26, 2008

The National MS Society is kicking off its annual Bike MS: City to Shore Ride. My son Ryan and I are planning to be a part of this exciting event and we are asking you to join us in the fight against MS by making a contribution to support our effort.  Our goal is to raise $500 and we need your help.

The National Multiple Sclerosis Society is dedicated to ending the devastating effects of MS by funding research for a cure while helping people who currently live with MS lead more fulfilling lives. We believe in the work they do, and we invite you to see for yourself all the good they’ve done for the MS community. More than 400,000 Americans live with MS, and your support can and will make changes in their lives.

Please help by making a donation – large or small – to fight MS. Or, why not join us on the day of the event as a cyclist or a volunteer? Become a participant and we can work together in to raise the funds to make a difference.

Whatever you can give will help! We greatly appreciate your support and will keep you posted on my progress.

Sincerely,
Rick Tempestini

Click here to get to my personal page and make a secure, online donation.

[Update:  Thanks for all your donations!  It was a great ride.  Ryan and I were able to raise over $1400.  We are looking forward to next year...]

Posted in Other | Leave a Comment »

GetUpperBound

Posted by Rick Tempestini on March 12, 2008

The GetUpperBound method of an array actually takes a single parameter in .NET. Unfortunately, Microsoft’s documentation on MSDN does not provide a clear explanation of the purpose and usage of this parameter (in my opinion).

First, the GetUpperBound method of an array will return an integer with the number corresponding to the highest number “element” that can be placed into a array. For example, Label1 would display the number ’4′ after the following snippet of code because the array was created to hold five (5) values (remember, arrays in .NET are zero-based)

GetUpperBoundSingle2

In the code above, however, a zero (0) was used when calling the GetUpperBound method. Since the array was declared as a single-dimensional array, there was only one dimension to get the upper bound value from. Therefore, a zero (0) was passed in to represent the first (and only) dimension of this array. Note: dimensions of the array are even zero-based and that is why a one (1) was not passed in.

On a two-dimensional array, this parameter can now take a zero or a one based upon which dimension you want to return a value for as seen in the following example:

GetUpperBoundMulti

In the code above, a two-dimensional array is created with three (3) as the first dimension and four (4) as the second dimension. Again, since the dimensions of an array are zero-based, the call to GetUpperBound(0) will represent the first dimension and the call to GetUpperBound(1) will represent the second dimension.

Posted in Other | Tagged: , | Leave a Comment »

Permanent vs. Temporary Cookies

Posted by Rick Tempestini on August 18, 2007

Cookies, by default, when created using the following code sample, expire when the browser closes:

code-sample-cookie-no-expiration.jpg

If, however, the Expires property is set to a date and time in the future of the current date and time, a persistent cookie file will be written to the local client hard drive. For Internet Explorer, cookies are placed in the c:\Documents and Settings\[user_name]\Cookies directory.

Therefore, the code sample below will write a permanent cookie to the clients hard drive because the Expire property was set to a time in the future.

code-sample-cookie-with-expiration.jpg

Now, looking into my local cookies directory I see my new cookie file:

file-explorer-with-new-cookie.jpg

If I open the cookie, I can now see the name of the cookie “TestCookie” and the name-value pair that I stored in the cookie: setting1-test.

test-cookie.jpg

Posted in Other | Tagged: , , | 4 Comments »

ASP.NET Display Property of the Validation Controls

Posted by Rick Tempestini on July 12, 2007

The display property for the ASP.NET validation controls have 3 settings: None, Static, and Dynamic. The results of setting the display property to None is self-explanatory. However, what is the difference between Static and Dynamic? The difference between the two can be seen when looking at the source in your browser after the page is loaded at run-time.

When the Display property is set to Dynamic, the CSS display attribute is set to none on the control. When the Display property is set to Static, the CSS visibility attribute is set to hidden and the display property is not used at all as shown in the browser output below:

Validation Control Display = Dynamic

<td style=”width: 491px; height: 16px”>
<span id=”RangeValidator1″
style=”display: inline-block; color: Red; width: 226px;
display: none;“>The age must be between 0 and 100 </span>
</td>


Validation Control Display = Static

<td style=”width: 491px; height: 16px”>
<span id=”Span1″
style=”display: inline-block; color: Red; width: 226px; visibility: hidden;“>
The age must be between 0 and 100 </span>
</td>

The default setting on the control for the Display property is Static. By setting this to Static the space for the error message is reserved. The advantages here is that the controls placed positionally to the right of the validation control will not be moved at run-time if the display message of the validation box appears.

Posted in Other | Tagged: , , | 2 Comments »

 
Follow

Get every new post delivered to your Inbox.